如何优化/重构TSQL“LIKE”子句?

前端之家收集整理的这篇文章主要介绍了如何优化/重构TSQL“LIKE”子句?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个117000左右的记录表.我需要执行搜索,检查给定字符串模式的3个单独的字段.

我的where子句如下:

field1 LIKE '%' + @DESC + '%'
OR field2 LIKE '%' + @DESC + '%'
OR field3 LIKE '%' + @DESC + '%'

这似乎需要大约24秒,无论输入…

有没有更好的方法来做到这一点?少于10(或5!)秒将更加优选.

感谢任何帮助.

解决方法

使用全文检索和 CONTAINS.当在字段中间搜索时,不能优化LIKE,即.当LIKE表达式以“%”开头时,它将始终执行全表扫描.

猜你在找的MsSQL相关文章