explain.depesz.com

PostgreSQL's explain analyze made readable

Result: ryjG

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 16,433.239 ↑ 1.0 1 1

Finalize Aggregate (cost=1,023,872.52..1,023,872.53 rows=1 width=8) (actual time=16,433.239..16,433.239 rows=1 loops=1)

2. 182.532 16,608.856 ↓ 1.5 3 1

Gather (cost=1,023,872.31..1,023,872.52 rows=2 width=8) (actual time=16,432.100..16,608.856 rows=3 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 1,138.837 16,426.324 ↑ 1.0 1 3 / 3

Partial Aggregate (cost=1,022,872.31..1,022,872.32 rows=1 width=8) (actual time=16,426.323..16,426.324 rows=1 loops=3)

4. 8,343.200 15,287.487 ↑ 1.3 2,681,958 3 / 3

Parallel Hash Join (cost=292,442.52..1,014,430.10 rows=3,376,882 width=0) (actual time=12,491.186..15,287.487 rows=2,681,958 loops=3)

  • Hash Cond: (cm.check_id = c.id)
5. 4,984.713 4,984.713 ↑ 1.3 8,041,829 3 / 3

Parallel Index Only Scan using index_check_items_on_check_id on check_items cm (cost=0.56..593,122.87 rows=10,052,287 width=16) (actual time=0.031..4,984.713 rows=8,041,829 loops=3)

  • Heap Fetches: 0
6. 506.421 1,959.574 ↑ 1.2 710,073 3 / 3

Parallel Hash (cost=277,099.09..277,099.09 rows=882,629 width=16) (actual time=1,959.573..1,959.574 rows=710,073 loops=3)

  • Buckets: 131,072 Batches: 64 Memory Usage: 2,624kB
7. 1,453.153 1,453.153 ↑ 1.2 710,073 3 / 3

Parallel Seq Scan on checks c (cost=0.00..277,099.09 rows=882,629 width=16) (actual time=0.059..1,453.153 rows=710,073 loops=3)

  • Filter: ((business_date >= '2020-01-01'::date) AND (business_date <= '2020-06-01'::date))
  • Rows Removed by Filter: 1,391,643