文字短语的最佳方法是在SQL Server中搜索文本列

时间:2009-04-08 20:28:44

标签: sql-server full-text-search sql-like

我认为全文搜索会让我以比LIKE谓词更优化的方式进行精确的短语搜索,但我读到它并没有完全这样做。

“LIKE”是在表格中搜索文字字符串的数千行TEXT字段的最有效方法吗?

必须完全匹配...

3 个答案:

答案 0 :(得分:1)

如果列上有适当的索引,并且您只在值的开头查找“string”,那么

LIKE(string%)将更快地工作。如果“string”可能位于值的中间,则必须使用LIKE(%string%);在这种情况下会触发表扫描并且它很慢(主要比全文搜索慢)。 您可以使用全文搜索的CONTAINS()函数进行精确匹配。

答案 1 :(得分:0)

显然,CONTAINSLIKE查询更快......

http://www.docstoc.com/docs/2280727/Microsoft-SQL-Server-70-Full-Text-Search-What-is-full-text-search

(可以在该演示文稿的第19页上找到分析)

答案 2 :(得分:0)

您使用的是哪个版本的SQL Server?如果可以的话,我建议用VARCHAR(MAX)替换TEXT(SQL Server 2005及更高版本)。

是什么让你说全文不起作用?你是如何设置全文的,你的全文查询是什么样的?

马克