explain.depesz.com

PostgreSQL's explain analyze made readable

Result: GQVl

Settings
# exclusive inclusive rows x rows loops node
1. 25.080 97.423 ↑ 14.0 4,177 1

HashAggregate (cost=342,207.21..344,253.94 rows=58,478 width=332) (actual time=91.559..97.423 rows=4,177 loops=1)

  • Group Key: slr_taxes_reestr.period_date, slr_employee.candidate_id, slr_in_out_charges.funding_source_id
2. 0.000 72.343 ↑ 2.3 24,907 1

Gather (cost=13,925.49..340,306.68 rows=58,478 width=55) (actual time=51.214..72.343 rows=24,907 loops=1)

  • Workers Planned: 3
  • Workers Launched: 3
3. 5.506 75.129 ↑ 3.0 6,227 4 / 4

Nested Loop (cost=12,925.49..333,458.88 rows=18,864 width=55) (actual time=45.497..75.129 rows=6,227 loops=4)

4. 5.133 57.170 ↑ 3.0 6,227 4 / 4

Parallel Hash Join (cost=12,925.06..204,235.64 rows=18,864 width=55) (actual time=45.474..57.170 rows=6,227 loops=4)

  • Hash Cond: (slr_taxes_reestr.employee_id = slr_employee.id)
5. 13.767 15.227 ↑ 3.0 6,227 4 / 4

Parallel Bitmap Heap Scan on slr_taxes_reestr (cost=3,008.35..194,269.42 rows=18,864 width=55) (actual time=7.361..15.227 rows=6,227 loops=4)

  • Recheck Cond: ((ent_id = 1,500) AND (tax_id = 6) AND (period_date >= '2020-01-01'::date) AND (period_date <= '2020-07-01'::date))
  • Heap Blocks: exact=1,717
6. 1.460 1.460 ↑ 1.2 48,926 1 / 4

Bitmap Index Scan on slr_taxes_reestr_ent_id_6a7234caa3746c2b (cost=0.00..2,993.73 rows=58,478 width=0) (actual time=5.841..5.841 rows=48,926 loops=1)

  • Index Cond: ((ent_id = 1,500) AND (tax_id = 6) AND (period_date >= '2020-01-01'::date) AND (period_date <= '2020-07-01'::date))
7. 19.778 36.810 ↑ 1.7 84,793 4 / 4

Parallel Hash (cost=8,150.20..8,150.20 rows=141,320 width=8) (actual time=36.810..36.810 rows=84,793 loops=4)

  • Buckets: 524,288 Batches: 1 Memory Usage: 17,440kB
8. 17.032 17.032 ↑ 1.7 84,793 4 / 4

Parallel Seq Scan on slr_employee (cost=0.00..8,150.20 rows=141,320 width=8) (actual time=0.011..17.032 rows=84,793 loops=4)

9. 12.454 12.454 ↑ 1.0 1 24,907 / 4

Index Scan using slr_in_out_charges_pkey on slr_in_out_charges (cost=0.43..6.85 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=24,907)

  • Index Cond: (id = slr_taxes_reestr.charge_id)