左联接似乎更快,因为强制SQL先执行较小的选择,然后再联接到此较小的记录集。由于某种原因,优化器不希望自然地这样做。
强制以正确顺序进行连接的3种方法:
- 选择第一个数据子集到临时表(或表变量)中,然后对其进行联接
- 使用左联接(请记住,这可能返回不同的数据,因为它是左联接而不是内部联接)
- 使用FORCE ORDER关键字。请注意,如果表大小或架构更改,则查询计划可能不正确(请参阅https://dba.stackexchange.com/questions/45388/forcing-join-order)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)