我在查询中有4个全外连接,但连接速度确实很慢,那么FULL OUTER JOIN性能/结果的顺序是否有所不同?
FULL OUTER JOIN
FULL OUTER JOIN =铈。
然后,
我有一种情况:A铈.B铈.C铈.D
所有联接都发生k在所有A,B,C,D中包含的所有键共有的键上
k
然后:
我认为它不应该影响结果,但是不确定是否会影响性能!
更新:
假设结果集与顺序无关,SQL Server是否会自动重新排列联接以提高性能?
否,重新排列JOIN指令不应影响性能。MSSQL(与其他DBMS一样)具有查询优化器,其作用是为任何给定查询找到最有效的查询计划。通常,这些工具做得很好- 因此您不太可能轻易击败优化器。
就是说,他们偶尔确实会出错。这就是阅读执行计划的地方。您可以添加联接提示来告诉MSSQL如何加入你的表(此时,订货 做 事情)。通常,您会从最小到最大的表进行排序(尽管使用FULL JOIN,它不太重要)并遵循联接类型的经验法则。
FULL JOIN
既然您正在做FULL JOINS,基本上就是从磁盘上读取了全部4个表。那可能很昂贵。您可能需要重新检查该问题,并查看是否可以通过其他方式解决该问题。
FULL JOINS