explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DJLd

Settings
# exclusive inclusive rows x rows loops node
1. 0.224 85,390.259 ↑ 1.0 25 1

Finalize GroupAggregate (cost=154,691.77..154,692.39 rows=25 width=19) (actual time=85,390.020..85,390.259 rows=25 loops=1)

  • Group Key: part.p_brand
2. 1.165 85,390.035 ↓ 1.5 75 1

Sort (cost=154,691.77..154,691.89 rows=50 width=19) (actual time=85,389.994..85,390.035 rows=75 loops=1)

  • Sort Key: part.p_brand
  • Sort Method: quicksort Memory: 30kB
3. 992.539 85,388.870 ↓ 1.5 75 1

Gather (cost=154,685.11..154,690.36 rows=50 width=19) (actual time=85,388.389..85,388.870 rows=75 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 248.362 84,396.331 ↑ 1.0 25 3

Partial HashAggregate (cost=153,685.11..153,685.36 rows=25 width=19) (actual time=84,396.302..84,396.331 rows=25 loops=3)

  • Group Key: part.p_brand
5. 2,824.735 84,147.969 ↑ 1.3 349,525 3

Hash Join (cost=98,678.96..151,500.57 rows=436,907 width=11) (actual time=28,510.188..84,147.969 rows=349,525 loops=3)

  • Hash Cond: (partsupp.ps_partkey = part.p_partkey)
6. 16,494.737 76,364.106 ↑ 1.3 349,525 3

Hash Join (cost=89,104.96..135,534.67 rows=436,907 width=16) (actual time=23,166.356..76,364.106 rows=349,525 loops=3)

  • Hash Cond: ((lineitem.l_partkey = partsupp.ps_partkey) AND (lineitem.l_suppkey = partsupp.ps_suppkey))
7. 2,789.605 57,292.428 ↑ 1.3 349,525 3

Hash Join (cost=46,960.96..82,921.91 rows=436,907 width=16) (actual time=20,473.978..57,292.428 rows=349,525 loops=3)

  • Hash Cond: (lineitem.l_orderkey = orders.o_orderkey)
8. 34,223.424 34,223.424 ↑ 1.3 349,525 3

Parallel Seq Scan on lineitem (cost=0.00..25,596.07 rows=436,907 width=24) (actual time=152.542..34,223.424 rows=349,525 loops=3)

9. 1,973.370 20,279.399 ↑ 1.0 1,048,576 3

Hash (cost=29,757.76..29,757.76 rows=1,048,576 width=4) (actual time=20,279.399..20,279.399 rows=1,048,576 loops=3)

  • Buckets: 131072 Batches: 16 Memory Usage: 3335kB
10. 18,306.029 18,306.029 ↑ 1.0 1,048,576 3

Seq Scan on orders (cost=0.00..29,757.76 rows=1,048,576 width=4) (actual time=170.117..18,306.029 rows=1,048,576 loops=3)

11. 921.219 2,576.941 ↑ 1.0 800,000 3

Hash (cost=26,237.00..26,237.00 rows=800,000 width=16) (actual time=2,576.941..2,576.941 rows=800,000 loops=3)

  • Buckets: 131072 Batches: 16 Memory Usage: 3373kB
12. 1,655.722 1,655.722 ↑ 1.0 800,000 3

Seq Scan on partsupp (cost=0.00..26,237.00 rows=800,000 width=16) (actual time=0.683..1,655.722 rows=800,000 loops=3)

13. 249.178 4,959.128 ↑ 1.0 200,000 3

Hash (cost=6,097.00..6,097.00 rows=200,000 width=15) (actual time=4,959.127..4,959.128 rows=200,000 loops=3)

  • Buckets: 131072 Batches: 4 Memory Usage: 3373kB
14. 4,709.950 4,709.950 ↑ 1.0 200,000 3

Seq Scan on part (cost=0.00..6,097.00 rows=200,000 width=15) (actual time=17.630..4,709.950 rows=200,000 loops=3)