explain.depesz.com

PostgreSQL's explain analyze made readable

Result: METi

Settings
# exclusive inclusive rows x rows loops node
1. 0.049 126,115.308 ↑ 1.0 25 1

Finalize GroupAggregate (cost=154,691.77..154,692.39 rows=25 width=19) (actual time=126,115.253..126,115.308 rows=25 loops=1)

  • Group Key: part.p_brand
2. 0.574 126,115.259 ↓ 1.5 75 1

Sort (cost=154,691.77..154,691.89 rows=50 width=19) (actual time=126,115.243..126,115.259 rows=75 loops=1)

  • Sort Key: part.p_brand
  • Sort Method: quicksort Memory: 30kB
3. 1,696.679 126,114.685 ↓ 1.5 75 1

Gather (cost=154,685.11..154,690.36 rows=50 width=19) (actual time=126,114.419..126,114.685 rows=75 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
4. 199.994 124,418.006 ↑ 1.0 25 3

Partial HashAggregate (cost=153,685.11..153,685.36 rows=25 width=19) (actual time=124,417.985..124,418.006 rows=25 loops=3)

  • Group Key: part.p_brand
5. 1,629.982 124,218.012 ↑ 1.3 349,525 3

Hash Join (cost=98,678.96..151,500.57 rows=436,907 width=11) (actual time=78,790.634..124,218.012 rows=349,525 loops=3)

  • Hash Cond: (partsupp.ps_partkey = part.p_partkey)
6. 12,845.886 109,805.038 ↑ 1.3 349,525 3

Hash Join (cost=89,104.96..135,534.67 rows=436,907 width=16) (actual time=65,975.086..109,805.038 rows=349,525 loops=3)

  • Hash Cond: ((lineitem.l_partkey = partsupp.ps_partkey) AND (lineitem.l_suppkey = partsupp.ps_suppkey))
7. 2,024.753 48,799.596 ↑ 1.3 349,525 3

Hash Join (cost=46,960.96..82,921.91 rows=436,907 width=16) (actual time=17,703.275..48,799.596 rows=349,525 loops=3)

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

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

9. 1,776.615 17,680.060 ↑ 1.0 1,048,576 3

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

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

Seq Scan on orders (cost=0.00..29,757.76 rows=1,048,576 width=4) (actual time=0.291..15,903.445 rows=1,048,576 loops=3)

11. 1,358.962 48,159.556 ↑ 1.0 800,000 3

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

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

Seq Scan on partsupp (cost=0.00..26,237.00 rows=800,000 width=16) (actual time=22.206..46,800.594 rows=800,000 loops=3)

13. 320.861 12,782.992 ↑ 1.0 200,000 3

Hash (cost=6,097.00..6,097.00 rows=200,000 width=15) (actual time=12,782.992..12,782.992 rows=200,000 loops=3)

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

Seq Scan on part (cost=0.00..6,097.00 rows=200,000 width=15) (actual time=6.573..12,462.131 rows=200,000 loops=3)