1
我有两个全文搜索查询提高全文的查询性能
查询1:
Declare @KEYSEARCH nvarchar(4000)="string search here....".
SELECT * FROM TABLE1 WHERE CONTAINS(col1,@KEYSEARCH)
一次执行这个查询:0.2秒
查询2:
Declare @KEYSEARCH nvarchar(4000)="string search here....".
SELECT * FROM TABLE1 WHERE (CONTAINS(col1,@KEYSEARCH) or @KEYSEARCH='%%')
时间执行此查询:11s
第二个查询为什么这么慢?
@KEYSEARCH ='%%'是什么意思? – Prasanna
你能做一个解释吗?我的意思是:把这个关键字放在你的查询之前。您将可以为查询优化提供有价值的数据。 – Cedric
@prasanna我怀疑目的是允许一个匹配所有内容的特殊“通配符”并返回所有行。 –