explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 8tsv

Settings
# exclusive inclusive rows x rows loops node
1. 370.007 1,607.008 ↑ 2.2 5 1

GroupAggregate (cost=68,799.20..68,799.42 rows=11 width=28) (actual time=1,099.368..1,607.008 rows=5 loops=1)

  • Group Key: forms.id
  • Buffers: shared hit=185763 dirtied=1
2. 415.059 1,237.001 ↓ 70,757.5 778,332 1

Sort (cost=68,799.20..68,799.23 rows=11 width=28) (actual time=1,099.295..1,237.001 rows=778,332 loops=1)

  • Sort Key: forms.id
  • Sort Method: quicksort Memory: 84438kB
  • Buffers: shared hit=185763 dirtied=1
3. 418.457 821.942 ↓ 70,757.5 778,332 1

Hash Right Join (cost=56.68..68,799.01 rows=11 width=28) (actual time=0.093..821.942 rows=778,332 loops=1)

  • Hash Cond: (form_responses.form_id = forms.id)
  • Join Filter: (forms.project_id = 20206)
  • Buffers: shared hit=185763 dirtied=1
4. 403.423 403.423 ↑ 1.0 778,331 1

Index Only Scan using form_responses_form_id_mailing_id_covering_index on form_responses (cost=0.56..65,786.27 rows=783,337 width=16) (actual time=0.018..403.423 rows=778,331 loops=1)

  • Index Cond: (project_id = 20206)
  • Filter: ((deleted IS NOT TRUE) AND (is_unanswered IS NOT TRUE))
  • Rows Removed by Filter: 45731
  • Heap Fetches: 633
  • Buffers: shared hit=185748 dirtied=1
5. 0.004 0.062 ↑ 2.2 5 1

Hash (cost=55.98..55.98 rows=11 width=20) (actual time=0.062..0.062 rows=5 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 1kB
  • Buffers: shared hit=15
6. 0.033 0.058 ↑ 2.2 5 1

Bitmap Heap Scan on forms (cost=4.40..55.98 rows=11 width=20) (actual time=0.034..0.058 rows=5 loops=1)

  • Recheck Cond: (project_id = 20206)
  • Filter: (deleted IS NOT TRUE)
  • Rows Removed by Filter: 7
  • Heap Blocks: exact=12
  • Buffers: shared hit=15
7. 0.025 0.025 ↑ 1.2 12 1

Bitmap Index Scan on forms_project_id_index (cost=0.00..4.39 rows=15 width=0) (actual time=0.025..0.025 rows=12 loops=1)

  • Index Cond: (project_id = 20206)
  • Buffers: shared hit=3