【发布时间】:2017-11-10 17:49:27
【问题描述】:
在 SQL Server 2014 中,我尝试将 contains 用于几个不同的术语。该查询花费了非常长的时间,我很好奇分隔包含命令或在同一语句中使用它们是否更快。
例如,使用起来是否更快:
WHERE CONTAINS(text, '"term1" or "term2" or "term3"')
或
WHERE CONTAINS(text, "term1") OR CONTAINS(text, "term2") OR CONTAINS(text, "term3")
使用一个与另一个会有所不同,还是我可能在这里遗漏了一些更基本的东西?
更新:
我最终运行了第一个,但它在 50 分钟后出错(可能是单独的服务器连接问题)。我运行了第二个选项,查询在 19 分钟内完成。如果有人对为什么一个人的表现可能比另一个人有更好的答案,我仍然会感兴趣。谢谢。
【问题讨论】:
-
我会强烈打赌第一个。我从来没有尝试过。你可以测试一下。
-
即使我会推荐第一个,但我也从未尝试过
-
可能尝试再次运行第一个,因为索引可能已过期。您还可以检查执行计划以查看 (See Method 1 of the accepted answer in this post) 哪个查询会执行得更好。
标签: sql-server contains fulltext-index