explain.depesz.com

PostgreSQL's explain analyze made readable

Result: lGkN

Settings
# exclusive inclusive rows x rows loops node
1. 374.968 482,372.999 ↓ 106.0 106 1

HashAggregate (cost=4,984.69..4,984.70 rows=1 width=538) (actual time=482,372.829..482,372.999 rows=106 loops=1)

2. 308.048 481,998.031 ↓ 24,383.0 24,383 1

Nested Loop Left Join (cost=0.00..4,984.60 rows=1 width=538) (actual time=2.783..481,998.031 rows=24,383 loops=1)

3. 430.022 481,373.004 ↓ 24,383.0 24,383 1

Nested Loop (cost=0.00..4,984.32 rows=1 width=527) (actual time=2.756..481,373.004 rows=24,383 loops=1)

4. 1,013.993 480,065.194 ↓ 24,383.0 24,383 1

Nested Loop Left Join (cost=0.00..4,975.92 rows=1 width=169) (actual time=2.714..480,065.194 rows=24,383 loops=1)

  • Join Filter: (c.id = contr.contact_id)
5. 189.592 1,290.699 ↓ 24,383.0 24,383 1

Nested Loop Left Join (cost=0.00..236.17 rows=1 width=136) (actual time=0.415..1,290.699 rows=24,383 loops=1)

  • Join Filter: (gc.address_to_section_id = a2s.id)
6. 0.547 1.582 ↓ 103.0 103 1

Nested Loop (cost=0.00..16.83 rows=1 width=132) (actual time=0.115..1.582 rows=103 loops=1)

7. 0.044 0.044 ↑ 1.0 1 1

Index Scan using _contacts_pkey on _contacts c (cost=0.00..8.37 rows=1 width=113) (actual time=0.040..0.044 rows=1 loops=1)

  • Index Cond: (id = 4845782)
8. 0.991 0.991 ↓ 103.0 103 1

Index Scan using address_to_section_section_id_section_idx on address_to_section a2s (cost=0.00..8.45 rows=1 width=23) (actual time=0.056..0.991 rows=103 loops=1)

  • Index Cond: ((section_id = 4845782) AND ((section)::text = 'contacts'::text))
9. 118.656 1,099.525 ↑ 2.7 237 103

Append (cost=0.00..211.34 rows=640 width=8) (actual time=0.238..10.675 rows=237 loops=103)

10. 0.618 0.618 ↓ 0.0 0 103

Index Scan using groups_contacts_address_to_section_id_idx on groups_contacts gc (cost=0.00..8.27 rows=1 width=8) (actual time=0.006..0.006 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
11. 0.721 1.236 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__accounts gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.012..0.012 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
12. 0.515 0.515 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__accounts_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.005..0.005 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
13. 0.721 1.236 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__assets gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.012..0.012 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
14. 0.515 0.515 ↓ 0.0 0 103

Bitmap Index Scan on groups_contacts__assets_idx_groups_contacts__blicenses_address_ (cost=0.00..4.27 rows=2 width=0) (actual time=0.005..0.005 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
15. 0.721 1.236 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__blicenses gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.012..0.012 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
16. 0.515 0.515 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__blicenses_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.005..0.005 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
17. 0.206 0.206 ↓ 0.0 0 103

Seq Scan on groups_contacts__cashiering gc (cost=0.00..13.00 rows=300 width=8) (actual time=0.002..0.002 rows=0 loops=103)

18. 0.721 1.236 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__coo gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.012..0.012 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
19. 0.515 0.515 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__coo_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.005..0.005 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
20. 0.721 1.133 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__entitlements gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.011..0.011 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
21. 0.412 0.412 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__entitlements_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.004..0.004 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
22. 596.885 596.885 ↓ 10.5 158 103

Index Scan using idx_groups_contacts__inspections_address_to_section_id on groups_contacts__inspections gc (cost=0.00..55.38 rows=15 width=8) (actual time=0.039..5.795 rows=158 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
23. 2.781 2.781 ↓ 0.0 0 103

Index Scan using idx_groups_contacts__license_address_to_section_id on groups_contacts__license gc (cost=0.00..8.27 rows=1 width=8) (actual time=0.027..0.027 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
24. 366.989 366.989 ↓ 11.3 79 103

Index Scan using idx_groups_contacts__permits_address_to_section_id on groups_contacts__permits gc (cost=0.00..29.56 rows=7 width=8) (actual time=0.045..3.563 rows=79 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
25. 1.133 3.399 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__planning gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.033..0.033 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
26. 2.266 2.266 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__planning_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.022..0.022 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
27. 1.545 1.545 ↓ 0.0 0 103

Index Scan using idx_groups_contacts__properties_address_to_section_id on groups_contacts__properties gc (cost=0.00..8.37 rows=1 width=8) (actual time=0.015..0.015 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
28. 0.721 1.236 ↓ 0.0 0 103

Bitmap Heap Scan on groups_contacts__rcertifications gc (cost=4.27..9.60 rows=2 width=8) (actual time=0.012..0.012 rows=0 loops=103)

  • Recheck Cond: (address_to_section_id = a2s.id)
29. 0.515 0.515 ↓ 0.0 0 103

Bitmap Index Scan on idx_groups_contacts__rcertifications_address_to_section_id (cost=0.00..4.27 rows=2 width=0) (actual time=0.005..0.005 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
30. 0.206 0.206 ↓ 0.0 0 103

Seq Scan on groups_contacts__requests gc (cost=0.00..13.00 rows=300 width=8) (actual time=0.002..0.002 rows=0 loops=103)

31. 0.927 0.927 ↓ 0.0 0 103

Index Scan using idx_groups_contacts__violations_address_to_section_id on groups_contacts__violations gc (cost=0.00..8.27 rows=1 width=8) (actual time=0.009..0.009 rows=0 loops=103)

  • Index Cond: (address_to_section_id = a2s.id)
32. 477,760.502 477,760.502 ↑ 1.0 1 24,383

Seq Scan on dg_contractors_all contr (cost=0.00..4,739.74 rows=1 width=37) (actual time=1.539..19.594 rows=1 loops=24,383)

  • Filter: (contact_id = 4845782)
33. 877.788 877.788 ↑ 1.0 1 24,383

Index Scan using address_pkey on address a (cost=0.00..8.39 rows=1 width=370) (actual time=0.034..0.036 rows=1 loops=24,383)

  • Index Cond: (id = a2s.address_id)
34. 316.979 316.979 ↑ 1.0 1 24,383

Index Scan using groups_pkey on groups g (cost=0.00..0.27 rows=1 width=15) (actual time=0.011..0.013 rows=1 loops=24,383)

  • Index Cond: (group_id = gc.class_id)