参见英文答案 >
UNION ALL vs OR condition in sql server query3个
@H_404_2@我有一个问题,我需要找到具有与值匹配的测量值,或根本没有测量值的记录.我用三种或四种不同的方法解决了这个问题,使用JOIN,使用NOT IN和使用NOT EXISTS.但是,查询最终每次都非常慢.然后我尝试将查询分成两部分,它们都运行得非常快(三秒钟).但是使用OR组合查询需要超过五分钟.
阅读SO我尝试了UNION,这非常快,但对我正在使用的脚本非常不方便.
所以有两个问题:
>为什么UNION这么快? (或者为什么OR这么慢)?@H_404_2@>有什么办法可以强制MSsql对快速的OR语句使用不同的方法吗?