当我运行此查询时,需要花费大量时间,大约3分钟。表格上启用了自由文本搜索 SQL Server 2008 R2。表包含记录:3000000和catalogueid:57777包含64行
查询1:
select COUNT(1) from CatalogueItemSearch where CatalogueID=57777 and CONTAINS(SearchData,'"CID57777CID AND NN*"')
当我只添加三重NNN *时,它会以秒为单位提供输出。
查询2:
select COUNT(1) from CatalogueItemSearch where CatalogueID=57777 and CONTAINS(SearchData,'"CID57777CID AND NNN*"')
你能告诉我为什么SQL没有提供两个字符的瞬时输出。虽然有两个以上的字符搜索,但它会在一秒内提供输出。
答案 0 :(得分:0)
可能是因为高基数估计未使用测试指数 请通过检查执行计划进行验证。