SQL全文搜索与LIKE搜索性能



我一直在互联网上搜索,发现全文搜索通常有更好的性能。

我按照这篇文章中的说明在我的机器上设置了词库表,这样我就可以玩它,更熟悉全文搜索。

我正在Microsoft SQL Server Management Studio 2008中查看所有内容。

当我运行查询时。我注意到我的LIKE搜索比FREETEXT搜索快,这与我在大多数wiki网站/页面上发现的内容相矛盾。

以下是我运行的查询:

select *
from TheThesaurus
where freetext(TheDefinition, 'aspire')
select *
from TheThesaurus
where TheDefinition like '%aspire%'

LIKE搜索耗时0秒,而FREETEXT搜索耗时6秒。

LIKE搜索返回70行,其中FREETEXT搜索返回94行,这使得FREETEXT搜索更准确,结果更好。

是不是我遗漏了一些东西,导致FREETEXT搜索比LIKE搜索慢得多?

我真的很想在我的程序中使用FREETEXT搜索,因为它会返回更多的点击(收集更多的数据),但速度是一个重大问题。

谢谢你的帮助!

您创建了全文索引吗?如果没有,请参阅MSDN网站上的CREATE FULLTEXT CATALOG,或者此链接将使用SQL 2008引导您浏览它http://www.codeproject.com/Articles/29237/SQL-SERVER-2008-Creating-Full-Text-Catalog-and-Ful

运行时间不同的另一个原因与谓词的作用有关。LIKE更接近于完全匹配。FREETEXT函数"搜索与短语含义匹配的值,而不仅仅是精确的单词",因此您的FREETEXT命令正在做更多的工作。这来自"查询Microsoft SQL Server 2012">

最新更新