explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aTTO

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

Merge Join (cost=22,477,229.11..22,563,275.36 rows=3,976,286 width=8) (actual rows= loops=)

  • Merge Cond: ((t.imports_id = r.imports_id) AND (t.review_hash_id = r.review_hash_id))
  • Join Filter: (r.rpt_reviews_text_id <> t.rpt_reviews_text_id)
2. 0.000 0.000 ↓ 0.0

Sort (cost=6,428.39..6,593.36 rows=65,990 width=32) (actual rows= loops=)

  • Sort Key: t.imports_id, t.review_hash_id
3. 0.000 0.000 ↓ 0.0

Seq Scan on tmp_review_dupes t (cost=0.00..1,145.90 rows=65,990 width=32) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Materialize (cost=22,470,800.72..22,482,851.90 rows=2,410,236 width=32) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Sort (cost=22,470,800.72..22,476,826.31 rows=2,410,236 width=32) (actual rows= loops=)

  • Sort Key: r.imports_id, r.review_hash_id
6. 0.000 0.000 ↓ 0.0

Gather (cost=21,614,249.12..22,157,637.25 rows=2,410,236 width=32) (actual rows= loops=)

  • Workers Planned: 2
7. 0.000 0.000 ↓ 0.0

Merge Join (cost=21,613,249.12..21,915,613.65 rows=1,004,265 width=32) (actual rows= loops=)

  • Merge Cond: ((r.review_date = d.review_date) AND (r.report_date = d.report_date) AND (r.customers_id = d.customers_id))
8. 0.000 0.000 ↓ 0.0

Sort (cost=21,580,665.66..21,651,235.47 rows=28,227,923 width=44) (actual rows= loops=)

  • Sort Key: r.review_date, r.report_date, r.customers_id
9. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on rpt_reviews_text r (cost=0.00..17,219,033.23 rows=28,227,923 width=44) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Sort (cost=32,583.46..33,295.00 rows=284,616 width=12) (actual rows= loops=)

  • Sort Key: d.review_date, d.report_date, d.customers_id
11. 0.000 0.000 ↓ 0.0

Seq Scan on rpt_review_dates d (cost=0.00..6,799.16 rows=284,616 width=12) (actual rows= loops=)