explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2cbK

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 17,610.729 ↑ 1.0 1 1

Finalize Aggregate (cost=1,600,384.51..1,600,384.52 rows=1 width=8) (actual time=17,610.728..17,610.729 rows=1 loops=1)

2. 190.884 17,786.408 ↓ 1.5 3 1

Gather (cost=1,600,384.30..1,600,384.51 rows=2 width=8) (actual time=17,608.613..17,786.408 rows=3 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 1,057.205 17,595.524 ↑ 1.0 1 3 / 3

Partial Aggregate (cost=1,599,384.30..1,599,384.31 rows=1 width=8) (actual time=17,595.524..17,595.524 rows=1 loops=3)

4. 7,522.253 16,538.319 ↑ 1.3 2,641,619 3 / 3

Parallel Hash Join (cost=289,598.93..1,591,006.86 rows=3,350,977 width=0) (actual time=13,795.104..16,538.319 rows=2,641,619 loops=3)

  • Hash Cond: (cm.check_id = c.id)
5. 6,856.283 6,856.283 ↑ 1.3 7,913,238 3 / 3

Parallel Index Only Scan using idx_citems_on_pid_and_dat_and_cid_and_p_check_item_id_and_sts on check_items cm (cost=0.56..1,174,403.94 rows=9,899,250 width=16) (actual time=0.076..6,856.283 rows=7,913,238 loops=3)

  • Index Cond: ((deleted_at IS NULL) AND (status = 2))
  • Heap Fetches: 0
6. 482.072 2,159.783 ↑ 1.3 710,073 3 / 3

Parallel Hash (cost=274,131.96..274,131.96 rows=889,712 width=16) (actual time=2,159.783..2,159.783 rows=710,073 loops=3)

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

Parallel Bitmap Heap Scan on checks c (cost=583.28..274,131.96 rows=889,712 width=16) (actual time=3.046..1,677.711 rows=710,073 loops=3)

  • Recheck Cond: ((business_date >= '2020-01-01'::date) AND (business_date <= '2020-06-01'::date))
  • Rows Removed by Index Recheck: 1,244,136
  • Heap Blocks: lossy=75,694
8. 2.933 2.933 ↓ 1.0 2,210,560 1 / 3

Bitmap Index Scan on ix_checks_test (cost=0.00..49.45 rows=2,171,289 width=0) (actual time=8.798..8.798 rows=2,210,560 loops=1)

  • Index Cond: ((business_date >= '2020-01-01'::date) AND (business_date <= '2020-06-01'::date))