全文索引查询和like查询对比

以前一直不明白全文索引的作用,最近数据库cpu老是很高,后台管理查询电话的时候 特别慢,所以研究了下,以下对比不一定准确,留着做个参考!

1(正常like 查询)

SELECT     联系电话

FROM         二手车出售 AS ER

WHERE     (联系电话 LIKE '%13842421333%') AND (编号 > 4) OR

                      (编号 > 4) AND (',' + 联系电话 + ',' LIKE '%,25738,%') OR

                      (编号 > 4) AND (',' + 联系电话 + ',' LIKE '%,30608,%')

 

Cpu:17674

Reads:169864

Duration:2346

 

2、全文索引查询

SELECT     联系电话

FROM         二手车出售 AS ER

WHERE     (编号 > 4) AND CONTAINS(联系电话, '"13842421333" or "25738" or "30608"')

 

Cpu:16

Reads:1364

Duration:17

 

3、正常like查询

SELECT     联系电话

FROM         二手车出售

WHERE     (',' + 联系电话 + ',' LIKE '%,137428,%') OR

                      (',' + 联系电话 + ',' LIKE '%,138509,%')

Cpu:14026

Reads:171094

Duration:1055

 

 

4、全文索引查询

SELECT     联系电话

FROM         二手车出售

WHERE     CONTAINS(联系电话, '"137428" OR "138509"')

Cpu:15

Reads:864

Duration:19

 

 

5、使用or 全文索引查询,4条比性能差一些

SELECT     联系电话

FROM         二手车出售

WHERE     CONTAINS(联系电话, '"137428"') OR

                      CONTAINS(联系电话, '138509')

 

Cpu:16

Reads:878

Duration:17

 

通过简单的对比,文本类型的字段搜索,做全文索引还是比较好的。

 

 

原文地址:https://www.cnblogs.com/shuyu/p/2358902.html