explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bofW : hash

Settings
# exclusive inclusive rows x rows loops node
1. 82.819 2,295.905 ↑ 5.9 9,772 1

Unique (cost=670,120.70..670,408.41 rows=57,542 width=32) (actual time=2,069.668..2,295.905 rows=9,772 loops=1)

2. 977.045 2,213.086 ↓ 2.1 118,401 1

Sort (cost=670,120.70..670,264.56 rows=57,542 width=32) (actual time=2,069.666..2,213.086 rows=118,401 loops=1)

  • Sort Key: (ROW(r.a, r.b, r.c, s.d))
  • Sort Method: external merge Disk: 5456kB
3. 156.030 1,236.041 ↓ 2.1 118,401 1

Gather (cost=467,690.28..665,571.34 rows=57,542 width=32) (actual time=889.775..1,236.041 rows=118,401 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
4. 176.826 1,080.011 ↓ 1.7 59,200 2 / 2

Hash Join (cost=466,690.28..658,817.14 rows=33,848 width=32) (actual time=850.534..1,080.011 rows=59,200 loops=2)

  • Hash Cond: ((r.b = s.b) AND (r.c = s.c) AND (r.a = t.a))
5. 52.889 52.889 ↑ 1.2 250,000 2 / 2

Parallel Seq Scan on r (cost=0.00..5,644.18 rows=294,118 width=12) (actual time=0.012..52.889 rows=250,000 loops=2)

6. 25.779 850.296 ↓ 2.0 30,377 2 / 2

Hash (cost=466,429.71..466,429.71 rows=14,890 width=28) (actual time=850.296..850.296 rows=30,377 loops=2)

  • Buckets: 32768 (originally 16384) Batches: 1 (originally 1) Memory Usage: 2036kB
7. 128.405 824.517 ↓ 2.0 30,377 2 / 2

Hash Join (cost=134,991.80..466,429.71 rows=14,890 width=28) (actual time=697.053..824.517 rows=30,377 loops=2)

  • Hash Cond: ((u.b = s.b) AND (u.a = t.a) AND (u.d = s.d))
8. 5.472 5.472 ↑ 1.0 20,000 2 / 2

Seq Scan on u (cost=0.00..309.00 rows=20,000 width=12) (actual time=0.021..5.472 rows=20,000 loops=2)

9. 195.597 690.640 ↓ 1.0 395,277 2 / 2

Hash (cost=125,888.02..125,888.02 rows=389,702 width=24) (actual time=690.640..690.640 rows=395,277 loops=2)

  • Buckets: 65536 Batches: 8 Memory Usage: 3230kB
10. 285.596 495.043 ↓ 1.0 395,277 2 / 2

Hash Join (cost=7,059.00..125,888.02 rows=389,702 width=24) (actual time=192.403..495.043 rows=395,277 loops=2)

  • Hash Cond: ((t.c = s.c) AND (t.d = s.d))
11. 17.749 17.749 ↑ 1.0 20,000 2 / 2

Seq Scan on t (cost=0.00..309.00 rows=20,000 width=12) (actual time=0.021..17.749 rows=20,000 loops=2)

12. 135.211 191.698 ↑ 1.0 200,000 2 / 2

Hash (cost=3,082.00..3,082.00 rows=200,000 width=12) (actual time=191.697..191.698 rows=200,000 loops=2)

  • Buckets: 131072 Batches: 4 Memory Usage: 3153kB
13. 56.487 56.487 ↑ 1.0 200,000 2 / 2

Seq Scan on s (cost=0.00..3,082.00 rows=200,000 width=12) (actual time=0.025..56.487 rows=200,000 loops=2)

Planning time : 1.159 ms
Execution time : 2,299.437 ms