explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rYUt

Settings
# exclusive inclusive rows x rows loops node
1. 0.046 415,780.405 ↑ 1.0 100 1

Limit (cost=12,559,744.82..12,559,745.07 rows=100 width=632) (actual time=415,780.334..415,780.405 rows=100 loops=1)

  • Buffers: shared hit=91718 read=820543 dirtied=2905 written=174, temp read=737435 written=735389
2. 26,743.277 415,780.359 ↑ 338,546.7 100 1

Sort (cost=12,559,744.82..12,644,381.49 rows=33,854,668 width=632) (actual time=415,780.332..415,780.359 rows=100 loops=1)

  • Sort Key: (GREATEST(a.updated_at, b.updated_at))
  • Sort Method: top-N heapsort Memory: 39kB
  • Buffers: shared hit=91718 read=820543 dirtied=2905 written=174, temp read=737435 written=735389
3. 120,501.614 389,037.082 ↑ 1.0 33,849,812 1

Hash Join (cost=1,217,953.03..11,265,843.75 rows=33,854,668 width=632) (actual time=128,006.272..389,037.082 rows=33,849,812 loops=1)

  • Hash Cond: (a.id = b.table1_id)
  • Buffers: shared hit=91718 read=820543 dirtied=2905 written=174, temp read=737435 written=735389
4. 140,541.258 140,541.258 ↓ 1.0 42,413,019 1

Seq Scan on table1 a (cost=0.00..1,111,422.28 rows=42,395,528 width=600) (actual time=0.010..140,541.258 rows=42,413,019 loops=1)

  • Buffers: shared hit=90934 read=596533 dirtied=1993 written=100
5. 68,747.085 127,994.210 ↑ 1.0 33,851,668 1

Hash (cost=563,340.68..563,340.68 rows=33,854,668 width=32) (actual time=127,994.210..127,994.210 rows=33,851,668 loops=1)

  • Buckets: 65536 Batches: 1024 Memory Usage: 2323kB
  • Buffers: shared hit=784 read=224010 dirtied=912 written=74, temp written=181119
6. 59,247.125 59,247.125 ↑ 1.0 33,851,668 1

Seq Scan on table2 b (cost=0.00..563,340.68 rows=33,854,668 width=32) (actual time=0.535..59,247.125 rows=33,851,668 loops=1)

  • Buffers: shared hit=784 read=224010 dirtied=912 written=74