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

Iro*_*fin 10 sql t-sql sql-server optimization sql-like

我有一张117000左右的记录表.我需要执行搜索,检查给定字符串模式的3个单独字段.

我的where子句如下:

field1 LIKE '%' + @DESC + '%'
OR field2 LIKE '%' + @DESC + '%'
OR field3 LIKE '%' + @DESC + '%'
Run Code Online (Sandbox Code Playgroud)

无论输入如何,这似乎需要大约24秒......

有一个更好的方法吗?小于10(或5!)秒将更加可取.

谢谢你的帮助.

Rem*_*anu 13

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