複製鏈接
請複製以下鏈接發送給好友

嵌套循環連接

鎖定
連接 (SQL)操作是數據庫管理中重要的一環,而嵌套循環連接是通過嵌套的循環語句把多個表連接起來的簡單算法,但是效率並不理想。
中文名
嵌套循環連接
外文名
Nested loop join

嵌套循環連接簡介

連接 (SQL)操作是數據庫管理中重要的一環,而嵌套循環連接是通過嵌套的循環語句把多個表連接起來的簡單算法,但是效率並不理想。 [1] 

嵌套循環連接算法內容

兩個關係數據庫表R和S通過如下的方法連接在一起:
  For each tuple r in R do
     For each tuple s in S do
        If r and s satisfy the join condition
           Then output the tuple <r,s>
這種算法將會從硬盤中讀取 nr*bs+ br個頁, br和bs是R和S表所佔用的頁的個數, nr是R表中的記錄數。 [1] 

嵌套循環連接改進方法

這種算法可以通過更改循環的嵌套方式減少硬盤的訪問次數到br*bs+ br次。 對於R表的每一頁,S的每一個記錄只需要被讀一次。 [1] 
  For each block block_r in R do
     For each tuple s in S do
        For each tuple r in block_r do
           If r and s satisfy the join condition
              Then output the tuple <r,s>
參考資料
  • 1.    Paolo Ciaccia, Dario Mario, Lezioni di basi di dati, 2013, Editrice Esculapio, ISBN 978-8874887187