explain.depesz.com

PostgreSQL's explain analyze made readable

Result: PTWm

Settings
# exclusive inclusive rows x rows loops node
1. 0.040 6,786.296 ↑ 1.0 25 1

Limit (cost=4.70..109,453.55 rows=25 width=16) (actual time=1,502.044..6,786.296 rows=25 loops=1)

2. 0.009 6,786.256 ↑ 24.2 25 1

Nested Loop (cost=4.70..2,653,044.83 rows=606 width=16) (actual time=1,502.031..6,786.256 rows=25 loops=1)

3. 0.055 6,786.222 ↑ 24.2 25 1

Nested Loop (cost=4.70..2,653,035.40 rows=606 width=24) (actual time=1,502.017..6,786.222 rows=25 loops=1)

4. 0.523 6,772.967 ↑ 28.0 25 1

Nested Loop (cost=4.27..2,652,565.66 rows=700 width=16) (actual time=1,501.540..6,772.967 rows=25 loops=1)

  • Join Filter: (pdt.id = p.definition_id)
  • Rows Removed by Join Filter: 7096
5. 0.047 6,772.044 ↑ 28.0 25 1

Nested Loop Left Join (cost=4.27..2,649,492.01 rows=700 width=24) (actual time=1,501.475..6,772.044 rows=25 loops=1)

6. 362.414 6,757.747 ↑ 28.0 25 1

Nested Loop Left Join (cost=3.84..2,649,058.77 rows=700 width=32) (actual time=1,500.998..6,757.747 rows=25 loops=1)

  • Filter: (f_unaccent(upper(concat(ad.street_name_french, ' ', ad.street_number_from, NULLIF((' - '::text || (ad.street_number_to)::text), ' - '::text), NULLIF((' / '::text || (ad.box_number)::text), ' / '::text)))) ~~ '%ROUGE%'::text)
  • Rows Removed by Filter: 54081
7. 4.524 4,772.153 ↑ 8.1 54,106 1

Nested Loop Left Join (cost=3.41..1,883,882.12 rows=437,806 width=48) (actual time=1.206..4,772.153 rows=54,106 loops=1)

8. 13.094 3,090.343 ↑ 8.1 54,106 1

Nested Loop Left Join (cost=2.13..1,105,021.64 rows=437,754 width=24) (actual time=0.688..3,090.343 rows=54,106 loops=1)

9. 1.572 3,023.143 ↑ 8.1 54,106 1

Nested Loop (cost=1.70..844,184.23 rows=437,754 width=32) (actual time=0.685..3,023.143 rows=54,106 loops=1)

10. 44.377 1,723.027 ↑ 8.1 54,106 1

Nested Loop (cost=1.27..583,232.55 rows=437,754 width=24) (actual time=0.672..1,723.027 rows=54,106 loops=1)

11. 4.515 812.954 ↑ 8.1 54,106 1

Nested Loop Left Join (cost=0.85..347,844.87 rows=437,754 width=24) (actual time=0.664..812.954 rows=54,106 loops=1)

12. 321.485 321.485 ↑ 8.1 54,106 1

Index Scan using case_reception_date_idx on case_t c (cost=0.42..124,947.57 rows=437,754 width=48) (actual time=0.361..321.485 rows=54,106 loops=1)

  • Filter: ((NOT deleted) AND (NOT a_new_version_exists) AND ((case_type)::text = 'URBANISM'::text))
  • Rows Removed by Filter: 4960
13. 486.954 486.954 ↑ 1.0 1 54,106

Index Scan using case_status_board_to_case_idx on case_status_board_t board (cost=0.42..0.50 rows=1 width=16) (actual time=0.008..0.009 rows=1 loops=54,106)

  • Index Cond: (c.id = case_id)
14. 865.696 865.696 ↑ 1.0 1 54,106

Index Scan using pk_configuration_t on configuration_t config (cost=0.42..0.53 rows=1 width=16) (actual time=0.016..0.016 rows=1 loops=54,106)

  • Index Cond: (id = c.configuration_id)
15. 1,298.544 1,298.544 ↑ 1.0 1 54,106

Index Scan using pk_phase_t on phase_t p (cost=0.43..0.59 rows=1 width=24) (actual time=0.023..0.024 rows=1 loops=54,106)

  • Index Cond: (id = config.current_phase_id)
16. 54.106 54.106 ↓ 0.0 0 54,106

Index Only Scan using pk_deadline_acm_t on deadline_acm_t d1 (cost=0.43..0.59 rows=1 width=8) (actual time=0.001..0.001 rows=0 loops=54,106)

  • Index Cond: (id = p.deadline_id)
  • Heap Fetches: 85
17. 54.106 1,677.286 ↑ 1.0 1 54,106

Nested Loop Left Join (cost=1.28..1.77 rows=1 width=32) (actual time=0.030..0.031 rows=1 loops=54,106)

18. 0.000 1,514.968 ↑ 1.0 1 54,106

Nested Loop Left Join (cost=0.85..1.14 rows=1 width=24) (actual time=0.028..0.028 rows=1 loops=54,106)

19. 541.060 541.060 ↑ 1.0 1 54,106

Index Scan using geolocation__case_idx on geolocation_t g (cost=0.42..0.51 rows=1 width=16) (actual time=0.010..0.010 rows=1 loops=54,106)

  • Index Cond: (case_id = c.id)
20. 973.908 973.908 ↓ 0.0 0 54,106

Index Scan using geolocation_address_pk on geolocation_address_context_t gac_norm (cost=0.43..0.62 rows=1 width=16) (actual time=0.018..0.018 rows=0 loops=54,106)

  • Index Cond: (g.id = geolocation_id)
  • Filter: (is_principal AND ((context_type)::text = 'TARGET'::text))
  • Rows Removed by Filter: 2
21. 108.212 108.212 ↑ 1.0 1 54,106

Index Scan using geolocation_address_pk on geolocation_address_context_t gac_desc (cost=0.43..0.62 rows=1 width=16) (actual time=0.001..0.002 rows=1 loops=54,106)

  • Index Cond: (g.id = geolocation_id)
  • Filter: (is_principal AND ((context_type)::text = 'DESCRIPTIVE_TARGET'::text))
  • Rows Removed by Filter: 1
22. 1,623.180 1,623.180 ↑ 1.0 1 54,106

Index Scan using pk_address_t on address_t ad (cost=0.43..1.47 rows=1 width=29) (actual time=0.030..0.030 rows=1 loops=54,106)

  • Index Cond: (id = COALESCE(gac_desc.address_id, gac_norm.address_id))
23. 14.250 14.250 ↑ 1.0 1 25

Index Scan using geolocation_localization_context_geolocation_id_idx on geolocation_localization_context_t glc (cost=0.43..0.61 rows=1 width=16) (actual time=0.569..0.570 rows=1 loops=25)

  • Index Cond: (g.id = geolocation_id)
  • Filter: ((context_type)::text = 'TARGET'::text)
  • Rows Removed by Filter: 1
24. 0.364 0.400 ↑ 1.0 285 25

Materialize (cost=0.00..8.38 rows=292 width=8) (actual time=0.001..0.016 rows=285 loops=25)

25. 0.036 0.036 ↓ 1.0 295 1

Seq Scan on phase_definition_t pdt (cost=0.00..6.92 rows=292 width=8) (actual time=0.010..0.036 rows=295 loops=1)

26. 13.200 13.200 ↑ 1.0 1 25

Index Only Scan using pk_case_actor_authority on case_actor_authority_t actors1_ (cost=0.43..0.66 rows=1 width=16) (actual time=0.527..0.528 rows=1 loops=25)

  • Index Cond: ((case_id = c.id) AND (authority_abstract_id = 20))
  • Heap Fetches: 25
27. 0.013 0.025 ↑ 1.0 1 25

Materialize (cost=0.00..1.85 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=25)

28. 0.012 0.012 ↑ 1.0 1 1

Seq Scan on authority_abstract_t abstractau2_ (cost=0.00..1.85 rows=1 width=8) (actual time=0.010..0.012 rows=1 loops=1)

  • Filter: (id = 20)
  • Rows Removed by Filter: 67
Planning time : 18.722 ms