2013-04-28 44 views
0

數據庫引擎如何處理sql連接?他們是否應用不同的技術來處理不同類型的連接?我們將讚賞用示例解釋。DBMS如何處理不同類型的連接?

+0

這可能是有趣的你:http://use-the-index-luke.com/sql/join – 2013-04-28 05:44:01

回答

1

查詢評估非常複雜。我建議您拿起一本數據庫教科書,並閱讀您最喜愛的DMBS文檔的查詢評估部分。

簡而言之,存在三種主要類型的算法:單通道,基於循環和基於排序/合併。根據要加入的表中的元組數量,加入的元組的預期數量,內存大小和磁盤速度(如果已正確調整),索引的存在以及DBMS的規劃者有多好。

當要連接的表適合內存時發生單通。 當一張表完全適合內存時,通常會執行基於循環的操作(它們可以是索引或基於哈希)。 基於排序/合併的連接需要多次通過。

此URL有一些很好的例子:

http://etutorials.org/SQL/Postgresql/Part+I+General+PostgreSQL+Use/Chapter+4.+Performance/Understanding+How+PostgreSQL+Executes+a+Query/

--dmg

相關問題