關係型資料庫三大物理鏈結的一點猜想

2021-10-22 04:46:25 字數 936 閱讀 3542

1:是什麼

1.1:是sql執行過程的實際執行方式,所有的查詢語句都會以這三種方式物理執行.對兩張選中的表的資訊進行處理,選出符合條件的記錄,返回去給呼叫者.分為巢狀迴圈鏈結,排序合併鏈結,雜湊鏈結

2:為什麼

2.1:需要選出兩張表中,有交集的部分

3:怎麼做

3.1:暫時不知道怎麼指定強制使用那種模式,只聽說in是使用雜湊鏈結,exists是使用巢狀迴圈(所有按理來說大資料量in要比exists快些的)

1:是什麼

1.1: 資料庫鏈結方式的一種

2:為什麼

2.1: 最簡單最容易想到的方式

3:怎麼做

3.1:假設指定了a表,b表.外層迴圈a表,再套一層迴圈b表,判斷a表的這條記錄是否與b表的這條記錄相等.時間複雜度為o(a*b),如果b表有索引,時間複雜度應該為o(alogb)(存疑)

1:是什麼

1.1: 資料庫鏈結方式的一種

2:為什麼

2.1: 專門針對輸入兩表指定字段有序的情況,例如兩個表的判斷條件列都有索引

3:怎麼做

3.1: 假設指定了a表,b表.再定義兩個指標pa,pb,分別指向兩個表的值.這種方式就乙個迴圈,每次判斷pa指向的值是否與pb指向的值相等.如果不相等,小值的那個指標就往後移乙個位置.再與大值比較.

就像人的兩條腿一樣,一前一後就把兩張錶走完了.時間複雜度是o(a+b)

1:是什麼

1.1: 資料庫鏈結方式的一種

2:為什麼

2.1: 專門針對輸入兩表資料量大且沒有順序的情況

3:怎麼做

3.1: 假設指定了a表,b表,先將a表的指定字段雜湊到記憶體中,再將b表的指定字段雜湊一下,判斷是否雜湊值相等.這種方式利用了雜湊表的常數級時間複雜度,所以時間複雜度就是o(a+b)

關係型資料庫 三大正規化

關係型資料庫 三大正規化 一 關係性資料庫的 三大正規化是什麼?1 正規化是什麼?設計關係型資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些規範被稱作正規化。越高的正規化資料庫的冗餘度就越低。2 三大正規化 第一正規化 1nf 每個列都不可以再拆分。第二正規化 2nf 在第一正規化的基礎...

關係型資料庫三大正規化

基礎概念 關鍵字 主關鍵字 候選關鍵字,非關鍵字 如果某個欄位或多個欄位的值可以唯一地標識一條記錄,則該字段或字段組就稱為關鍵字。如果乙個關鍵字是用以標識每條記錄的唯一性,並作為該錶與其他表實現關聯之用,則稱其為主關鍵字 主鍵,primary key 或主碼。除主關鍵字以外的其他關鍵字稱為候選關鍵字...

關係型資料庫的物理連線

在開發中常聽到的 left join,inner join right join cross join 這些連線都是資料庫的邏輯連線,那麼資料庫在執行這些連線的時候,資料庫是如何在底層實現表的關聯的呢?這就是物理連線 目前大部分關係型資料庫支援3種物理連線 mysql 貌似到5.6未知僅支援巢狀連線...