|
|
1
5
SQL布尔值计算执行 不是 保证操作人员短路。见 On SQL Server boolean operator short-circuit 例如,假设操作员短路会导致正确性问题和运行时错误。 另一方面,我链接中的示例显示了 做 为SQL Server工作:提供SQL可以使用的访问路径。所以,和 全部的 SQL性能问题和疑问,真正的问题不在于SQL文本的表达方式,而在于存储的设计。也就是说,查询优化器可以使用哪些索引来满足您的查询? |
|
2
1
不幸的是,我不相信SQL Server会出现这样的短路情况。 所以我建议做两个查询并将它们结合在一起。第一个查询使用s.flag1=1和s.flag2=1 where条件,第二个查询使用s.flag1<>1 a s.flag2<>1条件执行对bigtable的联接。 This 关于这一问题的文章值得一读,并包括底线:
更新:
|
|
|
3
0
它不优雅,但它应该起作用…
|
|
|
4
0
SQL Server通常获取子查询提示(尽管可以随意丢弃它):
|
|
|
5
0
不知道如果没有测试数据这是否会更快…但听起来可能
请告诉我发生了什么事 另外,您可以通过只返回该查询的唯一ID,然后使用该ID的结果获取所有其他数据来加快速度。 编辑 像这样?
|
|
René Hoffmann esd · 如何使用带有更新或插入的计划 8 年前 |
|
ManuelSchneid3r · SQL查询计划序列 10 年前 |
|
|
Paria Molayem · 哪个执行计划的性能更好? 11 年前 |
|
|
Registered User · 如何避免额外的内部联接来优化此查询? 13 年前 |