为什么,当打开如下查询时:
WHERE (statement1) AND ((statement2) OR (statement3))
SSMS 查询设计器是否将其重构为以下语法:
WHERE (statement1) AND (statement2) OR
(statement1) AND (statement3)
我认为这与 SQL 服务器如何解析查询有关,在 ors 之前运行 ands?
是否有关于如何以最佳顺序进行最终优化的一般规则?
运行我自己的测试后,第二个查询将处理时间缩短了 0.5 毫秒。我知道它很小,但会随着查询的复杂性而增加(仍然几乎没有区别),而且我对 SQL Server 的工作方式很感兴趣。