explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Rppf

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=941.68..945.53 rows=70 width=465) (actual rows= loops=)

  • Group Key: d.one_two, p1a.row3, p1a.row3_dates, p1.row4, p1.row4_dates, p1.row5, p1.row5_dates, (CASE WHEN (p2.cat_id < 100) THEN m.filter4 ELSE p2.row4 END), (CASE WHEN (p2.cat_id < 100) THEN m.filter4_dates ELSE p2.row4_dates END), d.row17, d.row17_dates
2. 0.000 0.000 ↓ 0.0

Sort (cost=941.68..941.86 rows=70 width=423) (actual rows= loops=)

  • Sort Key: d.one_two, p1a.row3, p1a.row3_dates, p1.row4, p1.row4_dates, p1.row5, p1.row5_dates, (CASE WHEN (p2.cat_id < 100) THEN m.filter4 ELSE p2.row4 END), (CASE WHEN (p2.cat_id < 100) THEN m.filter4_dates ELSE p2.row4_dates END), d.row17, d.row17_dates
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=10.82..939.53 rows=70 width=423) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.38..772.21 rows=7 width=423) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=9.97..728.28 rows=7 width=399) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Seq Scan on part1a p1a (cost=0.00..4.03 rows=1 width=58) (actual rows= loops=)

  • Filter: (cat_id = 38)
7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=9.97..724.18 rows=7 width=345) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash Join (cost=9.55..75.13 rows=106 width=343) (actual rows= loops=)

  • Hash Cond: (p2.majordecode = p1.row8)
9. 0.000 0.000 ↓ 0.0

Index Scan using page2_cat_id_idx on page2 p2 (cost=0.42..41.55 rows=624 width=106) (actual rows= loops=)

  • Index Cond: (cat_id = 38)
10. 0.000 0.000 ↓ 0.0

Hash (cost=8.78..8.78 rows=28 width=250) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Index Scan using page1_cat_id_idx on page1 p1 (cost=0.29..8.78 rows=28 width=250) (actual rows= loops=)

  • Index Cond: (cat_id = 38)
12. 0.000 0.000 ↓ 0.0

Index Scan using f1f2_cat_id_sect_idx on f1f2 f (cost=0.42..6.11 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((cat_id = 38) AND (sect = p2.row1))
13. 0.000 0.000 ↓ 0.0

Index Scan using ms_key1_idx on ms m (cost=0.42..6.27 rows=1 width=39) (actual rows= loops=)

  • Index Cond: (key1 = p2.image_id)
  • Filter: ((key2 = 'LTT'::text) AND ((key3 = 'A'::text) OR (key3 = 'ALL'::text)))
14. 0.000 0.000 ↓ 0.0

Index Scan using part2_cat_id_f1_f2_idx on part2 d (cost=0.43..23.80 rows=5 width=76) (actual rows= loops=)

  • Index Cond: ((cat_id = 38) AND (f1 = f.f1) AND (f2 = f.f2))
  • Filter: (number_n IS NOT NULL)