explain.depesz.com

PostgreSQL's explain analyze made readable

Result: cs6K

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

sort (cost=39.32..39.32 rows=1 width=1,509) (actual rows= loops=)

  • Sort Key: (CASE sti.sti_code WHEN ''A_PLANIFIER''::text THEN 1 WHEN ''PLANIFIEE''::text THEN 2 WHEN ''EN_STAND_BY''::text THEN 3 ELSE 4 END), pdl.pdl_id, cli.cli_nom
2. 0.000 0.000 ↓ 0.0

Group (cost=39.27..39.31 rows=1 width=1,509) (actual rows= loops=)

  • Group Key: ''Sans contact''::text, mar.mar_libelle, com.com_libelle, pdl.pdl_id, cli.cli_nom, tcl.tcl_libelle, sti.sti_libelle, sti.sti_code, (CASE WHEN rsc.sic_accessible THEN ''Oui''::text ELSE ''Non''::text END), (CASE WHEN "int".int_necessite_rdv THEN ''Oui''::text ELSE ''Non''::text END)
3. 0.000 0.000 ↓ 0.0

Sort (cost=39.27..39.28 rows=1 width=1,505) (actual rows= loops=)

  • Sort Key: mar.mar_libelle, com.com_libelle, pdl.pdl_id, cli.cli_nom, tcl.tcl_libelle, sti.sti_libelle, sti.sti_code, (CASE WHEN rsc.sic_accessible THEN ''Oui''::text ELSE ''Non''::text END), (CASE WHEN "int".int_necessite_rdv THEN ''Oui''::text ELSE ''Non''::text END)
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.81..39.26 rows=1 width=1,505) (actual rows= loops=)

  • Filter: ((cde.cde_cle IS NULL) OR ((cde.cde_cle)::text <> ALL (''{details_client.telephone_contact,details_client.telephone_fixe,details_client.telephone_pro,details_client.telephone_mobile}''::text[])) OR (((cde.cde_cle)::text = ANY (''{details_client.telephone_contact,details_client.telephone_fixe,details_client.telephone_pro,details_client.telephone_mobile}''::text[])) AND ((cde.cde_valeur IS NULL) OR ((cde.cde_valeur)::text = ''''::text))))
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.67..38.12 rows=1 width=1,415) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.54..37.91 rows=1 width=1,416) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop (cost=10.39..29.68 rows=1 width=1,414) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.24..28.55 rows=1 width=1,200) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=10.12..27.99 rows=1 width=1,104) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=9.97..19.70 rows=1 width=888) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=9.82..11.53 rows=1 width=772) (actual rows= loops=)

  • Hash Cond: (cli.cli_id = pdl.pdl_client_fk)
  • Filter: (((cli.cli_telephone_fixe IS NULL) OR ((cli.cli_telephone_fixe)::text = ''''::text)) AND ((cli.cli_telephone_mobile IS NULL) OR ((cli.cli_telephone_mobile)::text = ''''::text)) AND ((cli.cli_telephone_pro IS NULL) OR ((cli.cli_telephone_pro)::text = ''''::text)))
12. 0.000 0.000 ↓ 0.0

Seq Scan on t_client cli (cost=0.00..1.50 rows=50 width=53) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=9.81..9.81 rows=1 width=759) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash Join (cost=8.17..9.81 rows=1 width=759) (actual rows= loops=)

  • Hash Cond: (("int".int_pdl_fk)::text = (pdl.pdl_id)::text)
15. 0.000 0.000 ↓ 0.0

Seq Scan on t_intervention "int" (cost=0.00..1.50 rows=50 width=18) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash (cost=8.16..8.16 rows=1 width=756) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Index Scan using idx_pdl_commande_fk on t_pdl pdl (cost=0.14..8.16 rows=1 width=756) (actual rows= loops=)

  • Index Cond: (pdl_commande_fk = 100)
18. 0.000 0.000 ↓ 0.0

Index Scan using t_commande_pk on t_commande com (cost=0.15..8.17 rows=1 width=124) (actual rows= loops=)

  • Index Cond: (com_id = 100)
19. 0.000 0.000 ↓ 0.0

Index Scan using marche_pk on t_marche mar (cost=0.14..8.16 rows=1 width=222) (actual rows= loops=)

  • Index Cond: (com.com_marche_fk = mar_id)
20. 0.000 0.000 ↓ 0.0

Index Scan using t_ref_type_client_pk on t_ref_type_client tcl (cost=0.13..0.39 rows=1 width=100) (actual rows= loops=)

  • Index Cond: (tcl_id = cli.cli_type_client_fk)
21. 0.000 0.000 ↓ 0.0

Index Scan using t_ref_statut_intervention_pk on t_ref_statut_intervention sti (cost=0.14..1.12 rows=1 width=218) (actual rows= loops=)

  • Index Cond: (sti_id = "int".int_statut_fk)
  • Filter: ((sti_code)::text <> ALL (''{REALISEE,A_NE_PAS_REALISER}''::text[]))
22. 0.000 0.000 ↓ 0.0

Index Scan using uidx_cpt_pdl_fk on t_compteur cpt (cost=0.15..8.17 rows=1 width=62) (actual rows= loops=)

  • Index Cond: (cpt_pdl_fk = (pdl.pdl_id)::bpchar)
23. 0.000 0.000 ↓ 0.0

Index Scan using t_ref_situation_compteur_pkey on t_ref_situation_compteur rsc (cost=0.13..0.20 rows=1 width=3) (actual rows= loops=)

  • Index Cond: (cpt.cpt_situation_fk = sic_id)
24. 0.000 0.000 ↓ 0.0

Index Scan using idx_cde_client_fk on t_client_details cde (cost=0.14..1.12 rows=1 width=638) (actual rows= loops=)

  • Index Cond: (cde_client_fk = cli.cli_id)