【发布时间】:2019-06-19 20:48:22
【问题描述】:
我正在编写一个有点复杂的 sql 查询 - 恐怕 - 执行起来可能很繁重。所以我想知道 MS SQL Server 是如何解决一些问题的。
如果有 ex1 AND ex2 这样的逻辑表达式,服务器是否总是同时评估它们?它是否总是先评估 ex1,然后评估 ex2(如果需要)? 是否已指定,我可以依赖它吗?
【问题讨论】:
-
在
or和and条件下,评估以快捷方式完成,因此只要一个条件匹配 (or) 或不匹配 (and) 其余条件不被评估。因此,我们始终强烈建议将最常见的条件放在首位,然后按照此规则处理其他条件。 -
这是否意味着服务器总是按照我写它们的顺序来评估表达式?我可以依靠它吗?
标签: sql sql-server query-optimization