リビジョン | e9aa35d57245370b3b7e2a677a0a0a65d9cfef4b (tree) |
---|---|
日時 | 2013-10-18 10:24:00 |
作者 | Takashi Suzuki <suzuki.takashi@metr...> |
コミッター | Takashi Suzuki |
pg_hint_plan動作確認試験の予測結果をPG93の動作に合わせて変更した。
@@ -211,15 +211,14 @@ not used hint: | ||
211 | 211 | duplication hint: |
212 | 212 | error hint: |
213 | 213 | |
214 | - QUERY PLAN | |
215 | ------------------------------------------- | |
216 | - Nested Loop | |
217 | - -> Index Scan using t2_pkey on t2 | |
218 | - -> Bitmap Heap Scan on t1 | |
219 | - Recheck Cond: (id = t2.id) | |
220 | - -> Bitmap Index Scan on t1_pkey | |
221 | - Index Cond: (id = t2.id) | |
222 | -(6 rows) | |
214 | + QUERY PLAN | |
215 | +-------------------------------------------- | |
216 | + Hash Join | |
217 | + Hash Cond: (t1.id = t2.id) | |
218 | + -> Index Scan using t1_pkey on t1 | |
219 | + -> Hash | |
220 | + -> Index Scan using t2_pkey on t2 | |
221 | +(5 rows) | |
223 | 222 | |
224 | 223 | /*+Set(work_mem "1M")*/ |
225 | 224 | EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id; |
@@ -563,18 +562,19 @@ error hint: | ||
563 | 562 | QUERY PLAN |
564 | 563 | -------------------------------------------------- |
565 | 564 | Merge Join |
566 | - Merge Cond: (t1.id = t4.id) | |
565 | + Merge Cond: (t1.id = t3.id) | |
567 | 566 | -> Merge Join |
568 | - Merge Cond: (t1.id = t3.id) | |
567 | + Merge Cond: (t1.id = t2.id) | |
568 | + -> Index Scan using t1_pkey on t1 | |
569 | + -> Index Scan using t2_pkey on t2 | |
570 | + -> Materialize | |
569 | 571 | -> Merge Join |
570 | - Merge Cond: (t1.id = t2.id) | |
571 | - -> Index Scan using t1_pkey on t1 | |
572 | - -> Index Scan using t2_pkey on t2 | |
573 | - -> Index Scan using t3_pkey on t3 | |
574 | - -> Sort | |
575 | - Sort Key: t4.id | |
576 | - -> Seq Scan on t4 | |
577 | -(12 rows) | |
572 | + Merge Cond: (t3.id = t4.id) | |
573 | + -> Index Scan using t3_pkey on t3 | |
574 | + -> Sort | |
575 | + Sort Key: t4.id | |
576 | + -> Seq Scan on t4 | |
577 | +(13 rows) | |
578 | 578 | |
579 | 579 | /*+HashJoin(t3 t4 t1 t2)*/ |
580 | 580 | EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id; |
@@ -640,18 +640,19 @@ error hint: | ||
640 | 640 | QUERY PLAN |
641 | 641 | -------------------------------------------------- |
642 | 642 | Merge Join |
643 | - Merge Cond: (t1.id = t4.id) | |
643 | + Merge Cond: (t1.id = t3.id) | |
644 | 644 | -> Merge Join |
645 | - Merge Cond: (t1.id = t3.id) | |
645 | + Merge Cond: (t1.id = t2.id) | |
646 | + -> Index Scan using t1_pkey on t1 | |
647 | + -> Index Scan using t2_pkey on t2 | |
648 | + -> Materialize | |
646 | 649 | -> Merge Join |
647 | - Merge Cond: (t1.id = t2.id) | |
648 | - -> Index Scan using t1_pkey on t1 | |
649 | - -> Index Scan using t2_pkey on t2 | |
650 | - -> Index Scan using t3_pkey on t3 | |
651 | - -> Sort | |
652 | - Sort Key: t4.id | |
653 | - -> Seq Scan on t4 | |
654 | -(12 rows) | |
650 | + Merge Cond: (t3.id = t4.id) | |
651 | + -> Index Scan using t3_pkey on t3 | |
652 | + -> Sort | |
653 | + Sort Key: t4.id | |
654 | + -> Seq Scan on t4 | |
655 | +(13 rows) | |
655 | 656 | |
656 | 657 | /*+Leading( */ |
657 | 658 | EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id; |
@@ -3006,13 +3007,14 @@ not used hint: | ||
3006 | 3007 | duplication hint: |
3007 | 3008 | error hint: |
3008 | 3009 | |
3009 | - QUERY PLAN | |
3010 | --------------------------------------- | |
3011 | - Merge Full Join | |
3012 | - Merge Cond: (t1.id = t2.id) | |
3013 | - -> Index Scan using t1_pkey on t1 | |
3014 | - -> Index Scan using t2_pkey on t2 | |
3015 | -(4 rows) | |
3010 | + QUERY PLAN | |
3011 | +------------------------------ | |
3012 | + Hash Full Join | |
3013 | + Hash Cond: (t1.id = t2.id) | |
3014 | + -> Seq Scan on t1 | |
3015 | + -> Hash | |
3016 | + -> Seq Scan on t2 | |
3017 | +(5 rows) | |
3016 | 3018 | |
3017 | 3019 | -- inherite table test |
3018 | 3020 | SET constraint_exclusion TO off; |
@@ -5987,6 +5989,7 @@ error hint: | ||
5987 | 5989 | QUERY PLAN |
5988 | 5990 | -------------------------------------------------- |
5989 | 5991 | Nested Loop |
5992 | + Join Filter: (t3.id = t4.id) | |
5990 | 5993 | -> Nested Loop |
5991 | 5994 | Join Filter: (t1.val = t3.val) |
5992 | 5995 | -> Hash Join |
@@ -5996,8 +5999,7 @@ error hint: | ||
5996 | 5999 | -> Hash |
5997 | 6000 | -> Seq Scan on t2 |
5998 | 6001 | -> Seq Scan on t3 |
5999 | - -> Index Scan using t4_pkey on t4 | |
6000 | - Index Cond: (id = t3.id) | |
6002 | + -> Seq Scan on t4 | |
6001 | 6003 | (12 rows) |
6002 | 6004 | |
6003 | 6005 | /*+Leading(((t1 t2) t3)) MergeJoin(t1 t2 t3 t4)*/ |
@@ -6248,13 +6250,15 @@ error hint: | ||
6248 | 6250 | Merge Cond: (t1.id = t2.id) |
6249 | 6251 | -> Index Scan using t1_pkey on t1 |
6250 | 6252 | -> Index Scan using t2_pkey on t2 |
6251 | - -> Index Scan using t3_pkey on t3 | |
6253 | + -> Sort | |
6254 | + Sort Key: t3.id | |
6255 | + -> Seq Scan on t3 | |
6252 | 6256 | -> Sort |
6253 | 6257 | Sort Key: t4.id |
6254 | 6258 | -> Seq Scan on t4 |
6255 | 6259 | -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5 |
6256 | 6260 | Index Cond: (id = t1.id) |
6257 | -(15 rows) | |
6261 | +(17 rows) | |
6258 | 6262 | |
6259 | 6263 | /*+Leading(((((t5 t4)t3)t2)t1))*/ |
6260 | 6264 | EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id; |
@@ -6336,13 +6340,15 @@ error hint: | ||
6336 | 6340 | -> Materialize |
6337 | 6341 | -> Merge Join |
6338 | 6342 | Merge Cond: (t3.id = t1.id) |
6339 | - -> Index Scan using t3_pkey on t3 | |
6343 | + -> Sort | |
6344 | + Sort Key: t3.id | |
6345 | + -> Seq Scan on t3 | |
6340 | 6346 | -> Materialize |
6341 | 6347 | -> Merge Join |
6342 | 6348 | Merge Cond: (t2.id = t1.id) |
6343 | 6349 | -> Index Scan using t2_pkey on t2 |
6344 | 6350 | -> Index Scan using t1_pkey on t1 |
6345 | -(17 rows) | |
6351 | +(19 rows) | |
6346 | 6352 | |
6347 | 6353 | /*+Leading((((t1 t2)t3)(t4 t5)))*/ |
6348 | 6354 | EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id; |
@@ -6363,13 +6369,15 @@ error hint: | ||
6363 | 6369 | Merge Cond: (t1.id = t2.id) |
6364 | 6370 | -> Index Scan using t1_pkey on t1 |
6365 | 6371 | -> Index Scan using t2_pkey on t2 |
6366 | - -> Index Scan using t3_pkey on t3 | |
6372 | + -> Sort | |
6373 | + Sort Key: t3.id | |
6374 | + -> Seq Scan on t3 | |
6367 | 6375 | -> Materialize |
6368 | 6376 | -> Merge Join |
6369 | 6377 | Merge Cond: (t4.id = t5.id) |
6370 | 6378 | -> Index Scan using t4_pkey on t4 |
6371 | 6379 | -> Index Scan using t5_idaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa on t5 |
6372 | -(14 rows) | |
6380 | +(16 rows) | |
6373 | 6381 | |
6374 | 6382 | /*+Leading((((t5 t4)t3)(t2 t1)))*/ |
6375 | 6383 | EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4, t5 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id AND t1.id = t5.id; |