MySQLとPostgreSQLで採用されている 結合処理のアルゴリズムに違いがある異なる。
MySQLでは Nested Loop JOINのみだけど、
PostgreSQLでは
Nested Loop JOIN、Hash JOIN、Merge JOINの
三種類がサポートされている。
Nested Loop Join
- 駆動表(JOIN元)を1行毎に内部表(JOIN先)の全レコードと付き合わせて該当のものを結合していく。
Hash Join
- 内部表の結合キーのハッシュリストを作成して、その後、駆動表と結合を行う。
Merge Join
- 駆動表と内部表を結合キーで、 ソートした後で 順番に付き合わせて結合していく。
コメント
![key1_edit](https://user-images.githubusercontent.com/15377887/69549761-37686900-0fdd-11ea-9f32-441f0fd5157c.gif)