三種連線方式的特點

2021-07-02 16:23:13 字數 574 閱讀 3459

本帖最後由 extremeways 於 2013-3-27 23:06 編輯

nested loop:

1.乙個大表和乙個小表(驅動表)連線,連線方式可以是等值或者是不等值

2.驅動表資料較小或者內部表已連線的列有唯一性索引或者高度可選的非唯一性索引,效率很高

3.能快速讀取結果集中第一批記錄而不必等待整個結果集完全確定下來

hash join:

1.一般兩張相同大小的表連線,初始引數hash_join_enable=true

2.只能是等價連線,只能是cbo模式

3.只有一張源表需要排序,可能比merge join更快,因為只需要對一張源表排序;

也可能比nested loop更快,因為處理記憶體中的hash錶比處理b-tree索引更快

4.可能會使用到臨時表空間,所以最好pag_aggregate_target設定的比較大

merge join:

1.首先對2張表的連線列進行排序後再連線

2.當缺乏資料選擇性或者有效索引時,或者2個表都比較龐大,可能比nested loop更有效

3.只能是等值連線,可能使用temp表空間

redis三種連線方式

tar zxvf redis 2.8.9.tar.gz cd redis 2.8.9 直接make 編譯 make 可使用root使用者執行 make install 將可執行檔案拷貝到 usr local bin目錄下。這樣就可以直接敲名字執行程式了。make install 加上 號使redis...

mysql 連線三種方式 mysql的三種連線方式

sql的三種連線方式分為 左外連線 右外連線 內連線,專業術語分別為 left join right joing inner join 內連線inner join 使用比較運算子來根據指定的連線的每個表都有的列的值來進行匹配連線,如果對應的列值不存在,則連線的所有表對應的該列值都不會進行連線,也就是...

php連線 mysql的三種連線方式

php與mysql的連線有三種api介面,分別是 php的mysql擴充套件 php的mysqli擴充套件 php資料物件 pdo 下面針對以上三種連線方式做下總結,以備在不同場景下選出最優方案。php的mysql擴充套件是設計開發允許php應用與mysql資料庫互動的早期擴充套件。mysql擴充套...