SQL Server - 全文索引有助于什么样的查询?

时间:2017-05-15 20:23:09

标签: sql sql-server tsql

什么样的where条款从全文索引中获益最多?

2 个答案:

答案 0 :(得分:1)

以下是一些带有非SARGable LIKE子句的纯T-SQL查询,几乎 *总是得到索引扫描:

WHERE comment LIKE '%safety%' -- text that contains the word "safety"
--OR: 
WHERE sometext LIKE '%dog%' -- we want words that begin with "dog"

此查询使用全文索引,可以进行搜索。

WHERE CONTAINS(comment, 'safety') 
--OR:
WHERE CONTAINS(someText, 'Dog*') 

还有许多其他示例,其中FTS将改进WHERE子句中的性能,您可以阅读here

(*)在某些情况下,过滤索引或索引视图可以允许搜索。

答案 1 :(得分:0)

除非您从字符串的左侧部分开始,否则索引将不会有益。如果你寻求的不是从第一个角色位置开始。该指数的利益为零。