explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 7aIu

Settings
# exclusive inclusive rows x rows loops node
1. 0.072 6.307 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,367.88..1,467.51 rows=3 width=612) (actual time=3.757..6.307 rows=100 loops=1)

  • Buffers: shared hit=2318
2. 0.104 6.035 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,367.59..1,466.56 rows=3 width=549) (actual time=3.741..6.035 rows=100 loops=1)

  • Buffers: shared hit=2018
3. 0.080 5.731 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,367.30..1,465.62 rows=3 width=527) (actual time=3.721..5.731 rows=100 loops=1)

  • Buffers: shared hit=1718
4. 0.112 4.451 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,366.87..1,417.13 rows=3 width=463) (actual time=3.676..4.451 rows=100 loops=1)

  • Buffers: shared hit=1316
5. 0.130 4.339 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,366.58..1,416.19 rows=3 width=448) (actual time=3.674..4.339 rows=100 loops=1)

  • Buffers: shared hit=1316
6. 0.117 4.009 ↓ 33.3 100 1

Nested Loop Left Join (cost=1,366.17..1,390.85 rows=3 width=407) (actual time=3.651..4.009 rows=100 loops=1)

  • Buffers: shared hit=916
7. 0.039 3.692 ↓ 33.3 100 1

Limit (cost=1,365.88..1,365.89 rows=3 width=312) (actual time=3.630..3.692 rows=100 loops=1)

  • Buffers: shared hit=616
8. 0.175 3.653 ↓ 33.3 100 1

Sort (cost=1,365.88..1,365.89 rows=3 width=312) (actual time=3.630..3.653 rows=100 loops=1)

  • Sort Key: form_responses.created_time
  • Sort Method: quicksort Memory: 196kB
  • Buffers: shared hit=616
9. 0.486 3.478 ↓ 56.3 169 1

Bitmap Heap Scan on form_responses (cost=1,353.82..1,365.86 rows=3 width=312) (actual time=3.026..3.478 rows=169 loops=1)

  • Recheck Cond: ((form_id = 25809) AND (project_id = 20001) AND (created_time >= '2018-12-10 15:37:21+00'::timestamp with time zone) AND (created_time <= '2019-01-10 15:37:21+00'::timestamp with time zone))
  • Filter: ((deleted IS NOT TRUE) AND (is_unanswered IS NOT TRUE))
  • Rows Removed by Filter: 17
  • Heap Blocks: exact=184
  • Buffers: shared hit=613
10. 0.194 2.992 ↓ 0.0 0 1

BitmapAnd (cost=1,353.82..1,353.82 rows=3 width=0) (actual time=2.992..2.992 rows=0 loops=1)

  • Buffers: shared hit=429
11. 0.294 0.294 ↑ 1.2 1,810 1

Bitmap Index Scan on form_responses_form_id_index (cost=0.00..61.13 rows=2,226 width=0) (actual time=0.294..0.294 rows=1,810 loops=1)

  • Index Cond: (form_id = 25809)
  • Buffers: shared hit=13
12. 2.504 2.504 ↑ 1.2 10,155 1

Bitmap Index Scan on form_responses_covering_created_time_first_index (cost=0.00..1,292.43 rows=12,150 width=0) (actual time=2.504..2.504 rows=10,155 loops=1)

  • Index Cond: ((project_id = 20001) AND (created_time >= '2018-12-10 15:37:21+00'::timestamp with time zone) AND (created_time <= '2019-01-10 15:37:21+00'::timestamp with time zone))
  • Buffers: shared hit=416
13. 0.200 0.200 ↑ 1.0 1 100

Index Scan using forms_pkey on forms forms_1 (cost=0.28..8.30 rows=1 width=95) (actual time=0.002..0.002 rows=1 loops=100)

  • Index Cond: (id = form_responses.form_id)
  • Buffers: shared hit=300
14. 0.200 0.200 ↑ 1.0 1 100

Index Scan using mailings_pkey on mailings mailings_1 (cost=0.42..8.44 rows=1 width=41) (actual time=0.002..0.002 rows=1 loops=100)

  • Index Cond: (id = form_responses.mailing_id)
  • Buffers: shared hit=400
15. 0.000 0.000 ↓ 0.0 0 100

Index Scan using mailing_groups_pkey on mailing_groups mailing_groups_1 (cost=0.28..0.31 rows=1 width=19) (actual time=0.000..0.000 rows=0 loops=100)

  • Index Cond: (id = mailings_1.mailing_group_id)
16. 1.200 1.200 ↑ 1.0 1 100

Index Scan using question_responses_form_response_id_index on question_responses question_responses_1 (cost=0.43..16.15 rows=1 width=72) (actual time=0.011..0.012 rows=1 loops=100)

  • Index Cond: (form_response_id = form_responses.id)
  • Filter: ((deleted IS NOT TRUE) AND (form_id = form_responses.form_id))
  • Buffers: shared hit=402
17. 0.200 0.200 ↑ 1.0 1 100

Index Scan using answers_pkey on answers answers_1 (cost=0.29..0.31 rows=1 width=22) (actual time=0.002..0.002 rows=1 loops=100)

  • Index Cond: (id = question_responses_1.answer_id)
  • Buffers: shared hit=300
18. 0.200 0.200 ↑ 1.0 1 100

Index Scan using questions_pkey on questions questions_1 (cost=0.29..0.31 rows=1 width=63) (actual time=0.001..0.002 rows=1 loops=100)

  • Index Cond: (id = question_responses_1.question_id)
  • Buffers: shared hit=300