我們在查詢中使用連接的順序是否影響其執行時間?我們在查詢中使用連接的順序是否影響其執行時間?
2
A
回答
1
4
不,不。
SQL Server
的優化選擇最佳(它認爲)的方式,無論連接順序上。
SQL Server
支持一個特殊的提示,FORCE ORDER
,這使得表格按照它們列出的順序在連接中處於領先地位。
這些查詢:
SELECT *
FROM t_a
JOIN t_b
ON a = b
OPTION (FORCE ORDER)
和
SELECT *
FROM t_b
JOIN t_a
ON a = b
OPTION (FORCE ORDER)
將產生其中省略和添加有不同的計劃OPTION (FORCE ORDER)
相同的計劃。
然而,只有當你絕對相信你知道自己在做什麼,你應該使用這個提示。
+1
永遠不要使用提示,除非系統絕對死於緩慢的死亡。你怎麼知道下一個版本的SQL Server不能以另一種方式工作,導致你的提示減慢了速度? – 2010-02-16 21:03:37
0
優化通常會比較所有的連接順序,儘量選擇最佳的順序,無論你在一些複雜的查詢,但是寫的查詢的順序有太多的問題需要考慮,注意可能的數量加入訂單增加到加入的表的數量的階乘。在這種情況下,優化器不會考慮所有選項,但肯定會考慮您在查詢中編寫聯接的順序,因此可能會影響執行計劃和執行時間。
0
對於外連接,表的順序改變您的查詢的含義,很可能會改變執行計劃。
相關問題
- 1. elasticsearch查詢中的terms-lookup-filter聚合順序是否會影響執行時間(效率)?
- 2. 類中的PHP公共函數的順序是否會影響其執行?
- 3. SQL左外連接影響子查詢順序
- 4. EF linq查詢子句的順序是否影響性能?
- 5. 查詢花費的時間太長,影響我們的性能
- 6. 轉換是否影響PySpark中的動作執行時間?
- 7. 條件語句中參數的順序是否會影響php中的執行時間?
- 8. sparql查詢中的三元組順序是否會影響結果?
- 9. select語句中列的順序是否會影響查詢速度?
- 10. 是否可以在查詢的ColdFusion查詢中執行字符串連接?
- 11. Impala查詢執行順序
- 12. 核心數是否影響執行時間
- 13. PHP SoapServer是否受最大執行時間影響?
- 14. 投影是否減少查詢和/或響應時間?
- 15. 使用LEFT(外部)連接時,連接中的表的順序是否重要?
- 16. SQL查詢中的執行順序?
- 17. 當我使用連接時查詢執行期間超出了資源
- 18. 我們是否應該在執行超時時使用Thread.sleep()?
- 19. 使用Entity Framework時,調用IEnumerable <T> -functions的順序是否會影響最終查詢?
- 20. 反規範化對查詢,連接和響應時間有什麼影響?
- 21. PHP PDO更新查詢影響執行時的所有行
- 22. 查詢字符串參數的順序是否影響緩存對象?
- 23. 參數傳遞順序是否會影響查詢計劃的緩存?
- 24. SSMS中的查詢設計器和連接順序的順序?
- 25. 使用php編寫文件時檢查是否影響到行
- 26. SQL Server 2000,查詢是否按順序執行?
- 27. 交易是否影響所有查詢?
- 28. MongoDB按順序執行查詢而不是並行執行查詢
- 29. SubSonic 3.0.0.3我們如何在查詢工具中使用連接?
- 30. 執行JPA中的左連接查詢
連接序列的效果在使用更多連接和更多連接的複雜查詢中可見。 – 2010-02-16 18:41:22