explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Jc7Q

Settings
# exclusive inclusive rows x rows loops node
1. 0.036 0.434 ↑ 22.3 3 1

MixedAggregate (cost=8.95..254.55 rows=67 width=48) (actual time=0.429..0.434 rows=3 loops=1)

  • Hash Key: a.date, a.medorg_id
  • Hash Key: a.date
  • Group Key: ()
2. 0.068 0.398 ↑ 1.5 22 1

Hash Join (cost=8.95..252.47 rows=33 width=20) (actual time=0.362..0.398 rows=22 loops=1)

  • Hash Cond: (a.medorg_id = (CASE WHEN (mat.mat[1] <> ''::text) THEN m.id ELSE NULL::integer END))
3. 0.158 0.229 ↓ 1.7 582 1

Bitmap Heap Scan on polyclinic_availability_of_appointment_mat_master a (cost=6.05..247.50 rows=348 width=20) (actual time=0.083..0.229 rows=582 loops=1)

  • Recheck Cond: ((rank_id = 1) AND (date = '2019-03-05'::date))
  • Heap Blocks: exact=25
4. 0.071 0.071 ↓ 1.7 582 1

Bitmap Index Scan on polyclinic_availability_of_appointme_rank_id_date_filial_id_idx (cost=0.00..5.97 rows=348 width=0) (actual time=0.071..0.071 rows=582 loops=1)

  • Index Cond: ((rank_id = 1) AND (date = '2019-03-05'::date))
5. 0.003 0.101 ↑ 19.0 1 1

Hash (cost=2.66..2.66 rows=19 width=4) (actual time=0.101..0.101 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
6. 0.019 0.098 ↑ 1.0 19 1

Hash Left Join (cost=0.23..2.66 rows=19 width=4) (actual time=0.081..0.098 rows=19 loops=1)

  • Hash Cond: ((m.short_name)::text = replace(mat.mat[1], '""'::text, '"'::text))
7. 0.023 0.023 ↑ 1.0 19 1

Seq Scan on med_org m (cost=0.00..2.19 rows=19 width=79) (actual time=0.018..0.023 rows=19 loops=1)

8. 0.008 0.056 ↑ 10.0 1 1

Hash (cost=0.10..0.10 rows=10 width=32) (actual time=0.056..0.056 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
9. 0.048 0.048 ↑ 10.0 1 1

Function Scan on regexp_matches mat (cost=0.00..0.10 rows=10 width=32) (actual time=0.048..0.048 rows=1 loops=1)