explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wvxo

Settings
# exclusive inclusive rows x rows loops node
1. 39.897 923,118.389 ↓ 3,491.4 24,440 1

GroupAggregate (cost=157,573.50..157,661.80 rows=7 width=2,590) (actual time=923,075.759..923,118.389 rows=24,440 loops=1)

  • Output: soc.soc_id, soc_lan.nom_soc_ged, fam_prod.fam_id, prod.pro_id, prod.desc_courte, fam_prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, mut_dossier.mut_dossier_id, mut_dossier.mut_id, ((SubPlan 1)), mut_dossier.dte_mut, mut_dossier.etat, ((SubPlan 2)), mut_dossier.statut, ((SubPlan 3)), prest_sortie.prest_sortie_id, sum(COALESCE(prest_sortie.avoir_min_lpp, '0'::numeric)), sum(COALESCE(prest_sortie.avoir_reglementaire, '0'::numeric)), sum(COALESCE(prest_sortie.prest_sortie, '0'::numeric)), a1_part_affi.part_id, a1_part_affi.numero_contact, (replace(((((btrim((a1_part_affi.nom_ou_raison_sociale)::text) || ' '::text) || btrim((COALESCE(a1_part_affi.prenom, ' '::character varying))::text)) || ' '::text) || btrim((COALESCE(a1_part_affi.nom_complementaire, ' '::character varying))::text)), ' '::text, ' '::text)), a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, partie_dossier.partie_dossier_id, partie_dossier.etat, ((SubPlan 4)), partie_dossier.type_partie, ((SubPlan 5)), partie_dossier.dte_deb_partie, a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat
  • Group Key: soc.soc_id, soc_lan.nom_soc_ged, fam_prod.fam_id, prod.pro_id, dossier.dossier_id, mut_dossier.mut_dossier_id, ((SubPlan 1)), ((SubPlan 2)), ((SubPlan 3)), prest_sortie.prest_sortie_id, a1_part_affi.part_id, (replace(((((btrim((a1_part_affi.nom_ou_raison_sociale)::text) || ' '::text) || btrim((COALESCE(a1_part_affi.prenom, ' '::character varying))::text)) || ' '::text) || btrim((COALESCE(a1_part_affi.nom_complementaire, ' '::character varying))::text)), ' '::text, ' '::text)), partie_dossier.partie_dossier_id, ((SubPlan 4)), ((SubPlan 5)), a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat
  • Buffers: shared hit=4642634
2. 168.150 923,078.492 ↓ 3,491.4 24,440 1

Sort (cost=157,573.50..157,573.51 rows=7 width=2,512) (actual time=923,075.708..923,078.492 rows=24,440 loops=1)

  • Output: soc.soc_id, soc_lan.nom_soc_ged, fam_prod.fam_id, prod.pro_id, dossier.dossier_id, mut_dossier.mut_dossier_id, ((SubPlan 1)), ((SubPlan 2)), ((SubPlan 3)), prest_sortie.prest_sortie_id, a1_part_affi.part_id, (replace(((((btrim((a1_part_affi.nom_ou_raison_sociale)::text) || ' '::text) || btrim((COALESCE(a1_part_affi.prenom, ' '::character varying))::text)) || ' '::text) || btrim((COALESCE(a1_part_affi.nom_complementaire, ' '::character varying))::text)), ' '::text, ' '::text)), partie_dossier.partie_dossier_id, ((SubPlan 4)), ((SubPlan 5)), a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, prod.desc_courte, fam_prod.desc_courte, dossier.numero_dossier, dossier.dte_affiliation, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, prest_sortie.avoir_min_lpp, prest_sortie.avoir_reglementaire, prest_sortie.prest_sortie, a1_part_affi.numero_contact, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, partie_dossier.etat, partie_dossier.type_partie, partie_dossier.dte_deb_partie
  • Sort Key: soc_lan.nom_soc_ged, prod.pro_id, dossier.dossier_id, mut_dossier.mut_dossier_id, ((SubPlan 1)), ((SubPlan 2)), ((SubPlan 3)), prest_sortie.prest_sortie_id, a1_part_affi.part_id, (replace(((((btrim((a1_part_affi.nom_ou_raison_sociale)::text) || ' '::text) || btrim((COALESCE(a1_part_affi.prenom, ' '::character varying))::text)) || ' '::text) || btrim((COALESCE(a1_part_affi.nom_complementaire, ' '::character varying))::text)), ' '::text, ' '::text)), partie_dossier.partie_dossier_id, ((SubPlan 4)), ((SubPlan 5)), a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat
  • Sort Method: quicksort Memory: 13314kB
  • Buffers: shared hit=4642634
3. 388.462 922,910.342 ↓ 3,491.4 24,440 1

Merge Join (cost=8,710.48..157,573.40 rows=7 width=2,512) (actual time=3,014.251..922,910.342 rows=24,440 loops=1)

  • Output: soc.soc_id, soc_lan.nom_soc_ged, fam_prod.fam_id, prod.pro_id, dossier.dossier_id, mut_dossier.mut_dossier_id, (SubPlan 1), (SubPlan 2), (SubPlan 3), prest_sortie.prest_sortie_id, a1_part_affi.part_id, replace(((((btrim((a1_part_affi.nom_ou_raison_sociale)::text) || ' '::text) || btrim((COALESCE(a1_part_affi.prenom, ' '::character varying))::text)) || ' '::text) || btrim((COALESCE(a1_part_affi.nom_complementaire, ' '::character varying))::text)), ' '::text, ' '::text), partie_dossier.partie_dossier_id, (SubPlan 4), (SubPlan 5), a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, prod.desc_courte, fam_prod.desc_courte, dossier.numero_dossier, dossier.dte_affiliation, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, prest_sortie.avoir_min_lpp, prest_sortie.avoir_reglementaire, prest_sortie.prest_sortie, a1_part_affi.numero_contact, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, partie_dossier.etat, partie_dossier.type_partie, partie_dossier.dte_deb_partie
  • Inner Unique: true
  • Merge Cond: (a1_part_affi.numero_contact = a1_bi_partenaire_affi.numero_contact)
  • Buffers: shared hit=4642631
4. 56.635 921,560.769 ↓ 1,357.8 24,440 1

Nested Loop (cost=8,678.65..366,856.33 rows=18 width=216) (actual time=3,013.891..921,560.769 rows=24,440 loops=1)

  • Output: prest_sortie.prest_sortie_id, prest_sortie.avoir_min_lpp, prest_sortie.avoir_reglementaire, prest_sortie.prest_sortie, a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, a1_part_affi.part_id, a1_part_affi.numero_contact, a1_part_affi.nom_ou_raison_sociale, a1_part_affi.prenom, a1_part_affi.nom_complementaire, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, partie_dossier.partie_dossier_id, partie_dossier.etat, partie_dossier.type_partie, partie_dossier.dte_deb_partie
  • Buffers: shared hit=4274387
5. 77.610 921,259.734 ↓ 1,163.8 24,440 1

Nested Loop (cost=8,678.21..366,843.63 rows=21 width=194) (actual time=3,013.846..921,259.734 rows=24,440 loops=1)

  • Output: a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, a1_part_affi.part_id, a1_part_affi.numero_contact, a1_part_affi.nom_ou_raison_sociale, a1_part_affi.prenom, a1_part_affi.nom_complementaire, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, partie_dossier.partie_dossier_id, partie_dossier.etat, partie_dossier.type_partie, partie_dossier.dte_deb_partie
  • Buffers: shared hit=4176076
6. 711,111.953 920,865.301 ↓ 1,218.5 24,371 1

Nested Loop (cost=8,677.78..366,833.26 rows=20 width=184) (actual time=3,013.803..920,865.301 rows=24,371 loops=1)

  • Output: a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, a1_part_affi.part_id, a1_part_affi.numero_contact, a1_part_affi.nom_ou_raison_sociale, a1_part_affi.prenom, a1_part_affi.nom_complementaire, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil, soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, dossier_gen.dossier_gen_id, a1_part_dossier_affi.dossier_gen_id
  • Join Filter: (a1_part_affi.part_id = a1_part_dossier_affi.part_dossier_part_id)
  • Rows Removed by Join Filter: 4822509109
  • Buffers: shared hit=4078449
7. 625.927 1,781.468 ↑ 1.0 197,880 1

Merge Join (cost=64.78..32,168.01 rows=204,737 width=78) (actual time=0.066..1,781.468 rows=197,880 loops=1)

  • Output: a1_adresses_affi.numero_contact, a1_adresses_affi.rue_formatee, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_canton_etat, a1_part_affi.part_id, a1_part_affi.numero_contact, a1_part_affi.nom_ou_raison_sociale, a1_part_affi.prenom, a1_part_affi.nom_complementaire, a1_part_affi.sexe, a1_part_affi.dte_naissance, a1_part_affi.etat_civil
  • Merge Cond: (a1_part_affi.numero_contact = a1_adresses_affi.numero_contact)
  • Buffers: shared hit=278841
8. 449.386 449.386 ↑ 2.6 197,884 1

Index Scan using idx_part_numero_contact_part_id on iliade.part a1_part_affi (cost=0.42..18,336.99 rows=508,784 width=36) (actual time=0.022..449.386 rows=197,884 loops=1)

  • Output: a1_part_affi.part_id, a1_part_affi.type_part, a1_part_affi.nom_ou_raison_sociale, a1_part_affi.nom_complementaire, a1_part_affi.nom_alliance, a1_part_affi.prenom, a1_part_affi.dte_naissance, a1_part_affi.dte_deces, a1_part_affi.sexe, a1_part_affi.etat_civil, a1_part_affi.no_avs, a1_part_affi.langue_correspondance, a1_part_affi.usr_log_i, a1_part_affi.dte_log_i, a1_part_affi.usr_log_u, a1_part_affi.dte_log_u, a1_part_affi.audit, a1_part_affi.visa, a1_part_affi.numero_contact
  • Buffers: shared hit=129141
9. 706.155 706.155 ↓ 1.0 350,664 1

Index Scan using adresse_formatee_numero_contact_idx on partner.adresse_formatee a1_adresses_affi (cost=0.42..21,630.67 rows=347,706 width=42) (actual time=0.037..706.155 rows=350,664 loops=1)

  • Output: a1_adresses_affi.id, a1_adresses_affi.type_adresse, a1_adresses_affi.adresse_inconnue, a1_adresses_affi.code_canton_etat, a1_adresses_affi.code_iso2_pays, a1_adresses_affi.code_postal, a1_adresses_affi.indice_numero_rue, a1_adresses_affi.langue, a1_adresses_affi.ligne_01, a1_adresses_affi.ligne_02, a1_adresses_affi.ligne_03, a1_adresses_affi.ligne_04, a1_adresses_affi.ligne_05, a1_adresses_affi.ligne_06, a1_adresses_affi.ligne_07, a1_adresses_affi.ligne_08, a1_adresses_affi.ligne_09, a1_adresses_affi.ligne_10, a1_adresses_affi.nom_commune, a1_adresses_affi.nom_district, a1_adresses_affi.nom_localite, a1_adresses_affi.npa_loc_formatee, a1_adresses_affi.numero_rue, a1_adresses_affi.rue, a1_adresses_affi.rue_formatee, a1_adresses_affi.sexe_complement_destinataire, a1_adresses_affi.pas_bella_vita, a1_adresses_affi.pas_correspondance, a1_adresses_affi.version, a1_adresses_affi.usr_log_i, a1_adresses_affi.dte_log_i, a1_adresses_affi.usr_log_u, a1_adresses_affi.dte_log_u, a1_adresses_affi.numero_contact
  • Filter: (((a1_adresses_affi.type_adresse)::text = 'BASE'::text) OR (a1_adresses_affi.type_adresse IS NULL))
  • Rows Removed by Filter: 12316
  • Buffers: shared hit=149700
10. 205,031.713 207,971.880 ↓ 497.4 24,371 197,880

Materialize (cost=8,613.00..184,183.68 rows=49 width=110) (actual time=0.002..1.051 rows=24,371 loops=197,880)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, dossier_gen.dossier_gen_id, a1_part_dossier_affi.dossier_gen_id, a1_part_dossier_affi.part_dossier_part_id
  • Buffers: shared hit=3799608
11. 7.258 2,940.167 ↓ 497.4 24,371 1

Nested Loop (cost=8,613.00..184,183.43 rows=49 width=110) (actual time=271.792..2,940.167 rows=24,371 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, dossier_gen.dossier_gen_id, a1_part_dossier_affi.dossier_gen_id, a1_part_dossier_affi.part_dossier_part_id
  • Buffers: shared hit=3799608
12. 13.618 2,835.425 ↓ 507.7 24,371 1

Nested Loop (cost=8,612.57..184,142.08 rows=48 width=102) (actual time=271.757..2,835.425 rows=24,371 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut, dossier_gen.dossier_gen_id
  • Buffers: shared hit=3700913
13. 4.250 2,748.694 ↓ 507.7 24,371 1

Nested Loop (cost=8,612.13..184,041.90 rows=48 width=98) (actual time=271.720..2,748.694 rows=24,371 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte, mut_dossier.mut_dossier_id, mut_dossier.mut_id, mut_dossier.dte_mut, mut_dossier.etat, mut_dossier.statut
  • Buffers: shared hit=3603293
14. 17.850 329.736 ↓ 106.2 56,156 1

Hash Join (cost=8,611.70..145,924.61 rows=529 width=76) (actual time=270.641..329.736 rows=56,156 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, fam_prod.fam_id, fam_prod.desc_courte
  • Hash Cond: (mut_contrat.contrat_id = contrat.contrat_id)
  • Buffers: shared hit=341979
15. 57.232 224.804 ↓ 13.4 5,599 1

Index Only Scan using idx_mut_dossier_no_gen_contrat_contrat_id on iliade.mut_contrat (cost=0.42..137,306.47 rows=419 width=4) (actual time=0.096..224.804 rows=5,599 loops=1)

  • Output: mut_contrat.contrat_id, mut_contrat.no_gen_contrat, mut_contrat.statut
  • Filter: (mut_contrat.no_gen_contrat = (SubPlan 7))
  • Rows Removed by Filter: 78187
  • Heap Fetches: 0
  • Buffers: shared hit=336708
16.          

SubPlan (for Index Only Scan)

17. 0.000 167.572 ↑ 1.0 1 83,786

Result (cost=1.60..1.61 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=83,786)

  • Output: $6
  • Buffers: shared hit=335496
18.          

Initplan (for Result)

19. 0.000 167.572 ↑ 1.0 1 83,786

Limit (cost=0.42..1.60 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=83,786)

  • Output: a_5.no_gen_contrat
  • Buffers: shared hit=335496
20. 167.572 167.572 ↑ 15.0 1 83,786

Index Scan Backward using idx_mut_dossier_no_gen_contrat_contrat_id on iliade.mut_contrat a_5 (cost=0.42..18.08 rows=15 width=4) (actual time=0.002..0.002 rows=1 loops=83,786)

  • Output: a_5.no_gen_contrat
  • Index Cond: ((mut_contrat.contrat_id = a_5.contrat_id) AND (a_5.no_gen_contrat IS NOT NULL))
  • Filter: ((a_5.etat)::text = 'VALI'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=335496
21. 17.716 87.082 ↓ 7.9 56,156 1

Hash (cost=8,522.87..8,522.87 rows=7,073 width=84) (actual time=87.082..87.082 rows=56,156 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id, fam_prod.fam_id, fam_prod.desc_courte
  • Buckets: 65536 (originally 8192) Batches: 1 (originally 1) Memory Usage: 6215kB
  • Buffers: shared hit=5271
22. 6.798 69.366 ↓ 7.9 56,156 1

Nested Loop (cost=1,265.35..8,522.87 rows=7,073 width=84) (actual time=26.666..69.366 rows=56,156 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id, prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id, fam_prod.fam_id, fam_prod.desc_courte
  • Buffers: shared hit=5271
23. 0.002 0.044 ↑ 1.0 1 1

Nested Loop (cost=0.00..2.52 rows=1 width=26) (actual time=0.031..0.044 rows=1 loops=1)

  • Output: soc_lan.nom_soc_ged, soc.soc_id
  • Buffers: shared hit=2
24. 0.028 0.028 ↑ 1.0 1 1

Seq Scan on produit.soc_lan (cost=0.00..1.42 rows=1 width=26) (actual time=0.020..0.028 rows=1 loops=1)

  • Output: soc_lan.soc_id, soc_lan.lan, soc_lan.nom_soc, soc_lan.nom_soc_ged, soc_lan.sign_soc, soc_lan.desc_voies_recours
  • Filter: ((soc_lan.soc_id = 3) AND ((soc_lan.lan)::text = 'FR'::text))
  • Rows Removed by Filter: 27
  • Buffers: shared hit=1
25. 0.014 0.014 ↑ 1.0 1 1

Seq Scan on produit.soc (cost=0.00..1.09 rows=1 width=4) (actual time=0.010..0.014 rows=1 loops=1)

  • Output: soc.soc_id, soc.desc_courte, soc.usr_log_i, soc.dte_log_i, soc.usr_log_u, soc.dte_log_u
  • Filter: (soc.soc_id = 3)
  • Rows Removed by Filter: 6
  • Buffers: shared hit=1
26. 9.145 62.524 ↓ 7.9 56,156 1

Nested Loop (cost=1,265.35..8,449.62 rows=7,073 width=62) (actual time=26.634..62.524 rows=56,156 loops=1)

  • Output: prod.pro_id, prod.desc_courte, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id, fam_prod.fam_id, fam_prod.desc_courte, fam_prod.soc_id
  • Buffers: shared hit=5269
27. 0.023 0.023 ↑ 1.0 1 1

Seq Scan on produit.fam_prod (cost=0.00..1.60 rows=1 width=17) (actual time=0.020..0.023 rows=1 loops=1)

  • Output: fam_prod.fam_id, fam_prod.soc_id, fam_prod.desc_courte, fam_prod.type_famille, fam_prod.app_gest_id, fam_prod.usr_log_i, fam_prod.dte_log_i, fam_prod.usr_log_u, fam_prod.dte_log_u, fam_prod.dernier_num_police_utilise
  • Filter: ((fam_prod.fam_id = 27) AND (fam_prod.soc_id = 3))
  • Rows Removed by Filter: 39
  • Buffers: shared hit=1
28. 0.000 53.356 ↓ 7.9 56,156 1

Gather (cost=1,265.35..8,377.29 rows=7,073 width=49) (actual time=26.609..53.356 rows=56,156 loops=1)

  • Output: prod.pro_id, prod.desc_courte, prod.fam_id, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id
  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=5268
29. 9.014 58.443 ↓ 6.4 18,719 3 / 3

Hash Join (cost=265.35..6,669.99 rows=2,947 width=49) (actual time=20.400..58.443 rows=18,719 loops=3)

  • Output: prod.pro_id, prod.desc_courte, prod.fam_id, dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id
  • Inner Unique: true
  • Hash Cond: (contrat.pro_id = prod.pro_id)
  • Buffers: shared hit=5268
  • Worker 0: actual time=17.796..66.711 rows=26438 loops=1
  • Buffers: shared hit=2006
  • Worker 1: actual time=18.129..65.998 rows=25142 loops=1
  • Buffers: shared hit=1945
30. 29.863 49.384 ↑ 1.2 85,468 3 / 3

Hash Join (cost=260.98..6,376.98 rows=106,835 width=24) (actual time=3.292..49.384 rows=85,468 loops=3)

  • Output: dossier.dossier_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.contrat_id, contrat.contrat_id, contrat.pro_id
  • Inner Unique: true
  • Hash Cond: (dossier.contrat_id = contrat.contrat_id)
  • Buffers: shared hit=5172
  • Worker 0: actual time=3.127..55.794 rows=98369 loops=1
  • Buffers: shared hit=1959
  • Worker 1: actual time=3.272..55.056 rows=95703 loops=1
  • Buffers: shared hit=1898
31. 16.307 16.307 ↑ 1.2 85,468 3 / 3

Parallel Seq Scan on iliade.dossier (cost=0.00..5,835.35 rows=106,835 width=16) (actual time=0.010..16.307 rows=85,468 loops=3)

  • Output: dossier.dossier_id, dossier.contrat_id, dossier.dossier_parent_id, dossier.pro_id, dossier.numero_dossier, dossier.dte_affiliation, dossier.mnt_epa_tot, dossier.mnt_epa_min_lpp, dossier.dte_blocage_fact, dossier.raison_blocage_fact, dossier.visa_blocage_fact, dossier.dte_operation_blocage_fact, dossier.envoi_quest_mise_pension, dossier.objet_facturable_cree, dossier.deposant_epa, dossier.usr_log_i, dossier.dte_log_i, dossier.usr_log_u, dossier.dte_log_u, dossier.audit, dossier.blocage_extranet, dossier.responsable_gest, dossier.responsable_gest_medicale, dossier.id_mut_blocage_fact, dossier.raison_blocage_mutations, dossier.visa_blocage_mutations, dossier.blocage_mutations, dossier.dte_blocage_mutations, dossier.business_warning, dossier.sexe_affilie, dossier.dte_naissance_affilie
  • Buffers: shared hit=4767
  • Worker 0: actual time=0.011..18.856 rows=98369 loops=1
  • Buffers: shared hit=1824
  • Worker 1: actual time=0.011..18.516 rows=95703 loops=1
  • Buffers: shared hit=1763
32. 0.887 3.214 ↑ 1.0 5,599 3 / 3

Hash (cost=190.99..190.99 rows=5,599 width=8) (actual time=3.214..3.214 rows=5,599 loops=3)

  • Output: contrat.contrat_id, contrat.pro_id
  • Buckets: 8192 Batches: 1 Memory Usage: 283kB
  • Buffers: shared hit=405
  • Worker 0: actual time=3.048..3.048 rows=5599 loops=1
  • Buffers: shared hit=135
  • Worker 1: actual time=3.187..3.188 rows=5599 loops=1
  • Buffers: shared hit=135
33. 2.327 2.327 ↑ 1.0 5,599 3 / 3

Seq Scan on iliade.contrat (cost=0.00..190.99 rows=5,599 width=8) (actual time=0.018..2.327 rows=5,599 loops=3)

  • Output: contrat.contrat_id, contrat.pro_id
  • Buffers: shared hit=405
  • Worker 0: actual time=0.021..2.158 rows=5599 loops=1
  • Buffers: shared hit=135
  • Worker 1: actual time=0.020..2.266 rows=5599 loops=1
  • Buffers: shared hit=135
34. 0.006 0.045 ↑ 1.0 4 3 / 3

Hash (cost=4.33..4.33 rows=4 width=29) (actual time=0.045..0.045 rows=4 loops=3)

  • Output: prod.pro_id, prod.desc_courte, prod.fam_id
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=8
  • Worker 0: actual time=0.046..0.046 rows=4 loops=1
  • Buffers: shared hit=3
  • Worker 1: actual time=0.047..0.047 rows=4 loops=1
  • Buffers: shared hit=3
35. 0.016 0.039 ↑ 1.0 4 3 / 3

Bitmap Heap Scan on produit.prod (cost=1.28..4.33 rows=4 width=29) (actual time=0.038..0.039 rows=4 loops=3)

  • Output: prod.pro_id, prod.desc_courte, prod.fam_id
  • Recheck Cond: (prod.fam_id = 27)
  • Heap Blocks: exact=1
  • Buffers: shared hit=8
  • Worker 0: actual time=0.040..0.041 rows=4 loops=1
  • Buffers: shared hit=3
  • Worker 1: actual time=0.040..0.041 rows=4 loops=1
  • Buffers: shared hit=3
36. 0.023 0.023 ↑ 1.0 4 3 / 3

Bitmap Index Scan on idx_prod_fam_id (cost=0.00..1.28 rows=4 width=0) (actual time=0.023..0.023 rows=4 loops=3)

  • Index Cond: (prod.fam_id = 27)
  • Buffers: shared hit=5
  • Worker 0: actual time=0.026..0.026 rows=4 loops=1
  • Buffers: shared hit=2
  • Worker 1: actual time=0.025..0.025 rows=4 loops=1
  • Buffers: shared hit=2
37. 1,183.388 2,414.708 ↓ 0.0 0 56,156

Index Scan using idx_mut_dossier_dossier_id_no_gen_dossier on iliade.mut_dossier (cost=0.43..72.05 rows=1 width=26) (actual time=0.043..0.043 rows=0 loops=56,156)

  • Output: mut_dossier.mut_dossier_id, mut_dossier.donnees_mut_dossier_id, mut_dossier.per_gest_id, mut_dossier.dossier_id, mut_dossier.mut_id, mut_dossier.no_gen_dossier, mut_dossier.dte_mut, mut_dossier.description, mut_dossier.desc_treeview, mut_dossier.etat, mut_dossier.statut, mut_dossier.statut_precedent, mut_dossier.no_mut, mut_dossier.no_mut_precedente, mut_dossier.no_mut_extournee, mut_dossier.maj_cpt_epa, mut_dossier.dte_prochaine_fact_escompte, mut_dossier.visa_cree_par, mut_dossier.dte_creation, mut_dossier.visa_modifie_par, mut_dossier.dte_modification, mut_dossier.visa_ctrl_par, mut_dossier.dte_ctrl, mut_dossier.usr_log_i, mut_dossier.dte_log_i, mut_dossier.usr_log_u, mut_dossier.dte_log_u, mut_dossier.numero_regrpmnt_mut, mut_dossier.dte_escompte, mut_dossier.audit, mut_dossier.orig_mut, mut_dossier.annonce_extranet_id, mut_dossier.no_offre, mut_dossier.bande_etat_process_id, mut_dossier.nouveau_cas, mut_dossier.pas_de_cas, mut_dossier.cas_id, mut_dossier.no_mut_bck, mut_dossier.no_mut_precedente_bck, mut_dossier.no_mut_extournee_bck
  • Index Cond: (mut_dossier.dossier_id = dossier.dossier_id)
  • Filter: (((mut_dossier.statut)::text <> 'TERM'::text) AND (mut_dossier.no_gen_dossier = (SubPlan 9)))
  • Rows Removed by Filter: 11
  • Buffers: shared hit=3261314
38.          

SubPlan (for Index Scan)

39. 0.000 1,231.320 ↑ 1.0 1 615,660

Result (cost=1.81..1.82 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=615,660)

  • Output: $8
  • Buffers: shared hit=2468999
40.          

Initplan (for Result)

41. 0.000 1,231.320 ↑ 1.0 1 615,660

Limit (cost=0.43..1.81 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=615,660)

  • Output: a_6.no_gen_dossier
  • Buffers: shared hit=2468999
42. 1,231.320 1,231.320 ↑ 31.0 1 615,660

Index Scan Backward using idx_mut_dossier_dossier_id_no_gen_dossier on iliade.mut_dossier a_6 (cost=0.43..43.21 rows=31 width=4) (actual time=0.002..0.002 rows=1 loops=615,660)

  • Output: a_6.no_gen_dossier
  • Index Cond: ((mut_dossier.dossier_id = a_6.dossier_id) AND (a_6.no_gen_dossier IS NOT NULL))
  • Filter: ((a_6.etat)::text = 'VALI'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=2468999
43. 73.113 73.113 ↑ 1.0 1 24,371

Index Scan using mu_d_in_d_g_fk on iliade.dossier_gen (cost=0.43..2.08 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=24,371)

  • Output: dossier_gen.dossier_gen_id, dossier_gen.mut_dossier_id, dossier_gen.somme_tx_validite_inva, dossier_gen.vers_anticipe_effectue, dossier_gen.dossier_id, dossier_gen.no_gen_dossier, dossier_gen.confidentiel, dossier_gen.code_voir_dossier, dossier_gen.impots_source, dossier_gen.avoir_50_ans, dossier_gen.retour_avoir_min_lpp, dossier_gen.int_retour_avoir_min_lpp, dossier_gen.retour_avoir_evlp, dossier_gen.int_retour_avoir_evlp, dossier_gen.restitution_avoir_min_lpp, dossier_gen.int_restitution_avoir_min_lpp, dossier_gen.restitution_avoir_evlp, dossier_gen.int_restitution_avoir_evlp, dossier_gen.beneficiaires_deces, dossier_gen.donnees_medicales_introduites, dossier_gen.refus_medical, dossier_gen.non_reponse_etat_sante, dossier_gen.suivi_medical, dossier_gen.dte_suivi_medical, dossier_gen.surprimes, dossier_gen.reserves, dossier_gen.inva, dossier_gen.tot_rev_paye, dossier_gen.dte_calc_avoir, dossier_gen.dte_precedent_calc_avoir, dossier_gen.dte_derniere_idx, dossier_gen.dte_prochaine_annualisation, dossier_gen.dte_prochain_bouclement, dossier_gen.dte_prochain_recalcul, dossier_gen.prise_cpt_causes_reduc, dossier_gen.dte_retraite, dossier_gen.trtmt_partie_active_retraite, dossier_gen.dte_deces_reel, dossier_gen.dte_demission, dossier_gen.freq_paie_rentes, dossier_gen.capital_inva, dossier_gen.tx_inva_externe, dossier_gen.cause_fin_inva, dossier_gen.vers_anticipe_en_cours, dossier_gen.dte_demande_vers_anticipe, dossier_gen.dte_der_vers_anticipe, dossier_gen.raison_vers_anticipe, dossier_gen.remb_tot_der_vers_anticipe, dossier_gen.remb_tot_ensbl_vers_anticipes, dossier_gen.div_en_cours, dossier_gen.inscription_registre_foncier, dossier_gen.mise_en_gage, dossier_gen.jamais_affilie, dossier_gen.dte_premiere_affiliation, dossier_gen.dte_demande_avance_avs, dossier_gen.avance_avs, dossier_gen.dte_fin_avance_avs, dossier_gen.mnt_avance_avs, dossier_gen.ajournement, dossier_gen.dte_fin_ajournement, dossier_gen.maintien_fina_ajournement, dossier_gen.ajournement_annee_en_annee, dossier_gen.dte_prochain_ajournement, dossier_gen.age_premier_ajournement, dossier_gen.calc_av_terme, dossier_gen.conge, dossier_gen.demande_affiliation_recue, dossier_gen.suri, dossier_gen.dte_der_ctrl_suri, dossier_gen.regles_avert_outrepassees, dossier_gen.adresse_paie_connue, dossier_gen.somme_risquee_reass_deces, dossier_gen.somme_risquee_reass_inva, dossier_gen.annonce_reass_deces, dossier_gen.annonce_reass_inva, dossier_gen.duree_cip_illimitee, dossier_gen.dte_entree_actuarielle, dossier_gen.dte_entree_av_conversion, dossier_gen.dte_deb_conge, dossier_gen.dte_deb_conge_effectif, dossier_gen.dte_retour_conge, dossier_gen.dte_retour_conge_effectif, dossier_gen.conge_administratif, dossier_gen.duree_conges_non_rachetes, dossier_gen.mnt_rachat_excd, dossier_gen.dte_rachat_excd, dossier_gen.dte_echeance_rachat_excd, dossier_gen.dte_fin_fine_entree, dossier_gen.sal_inferieur_min_lpp, dossier_gen.calc_prest_sortie_gar, dossier_gen.dte_demande_retraite_capital, dossier_gen.dte_ren_retraite_capital, dossier_gen.dte_ren_avance_avs, dossier_gen.type_compens, dossier_gen.dte_retraite_compensee, dossier_gen.capital_compens_retraite, dossier_gen.capital_compens_suppltemp, dossier_gen.paie_autr_beneficiaires_deces, dossier_gen.suppltemp_avs, dossier_gen.majo_suppltemp_avs, dossier_gen.dte_fin_suppltemp_avs, dossier_gen.dte_fin_majo_suppltemp_avs, dossier_gen.dte_calc_situation_ass, dossier_gen.cause_refus_medical, dossier_gen.majo_tx_pension, dossier_gen.no_gen_dossier_situation_ass, dossier_gen.numero_dossier_etat, dossier_gen.usr_log_i, dossier_gen.dte_log_i, dossier_gen.usr_log_u, dossier_gen.dte_log_u, dossier_gen.cause_changement_employeur, dossier_gen.age_terme_vise, dossier_gen.code_urev_urcip, dossier_gen.pas_pu_se_prononcer, dossier_gen.prest_sortie_en_especes, dossier_gen.gest_reservee, dossier_gen.reass_deces, dossier_gen.reass_inva, dossier_gen.inva_proportion_reassuree, dossier_gen.annonce_reass_deces_facultatif, dossier_gen.annonce_reass_inva_facultatif, dossier_gen.annonce_reass_deces_sinistre, dossier_gen.annonce_reass_inva_sinistre, dossier_gen.prct_avance_avs, dossier_gen.remb_avance_avs_prime_unique, dossier_gen.paie_remb_avance_avs_effectue, dossier_gen.frais_gest_demission, dossier_gen.audit, dossier_gen.suivi_demande_affiliation, dossier_gen.dte_suivi_demande_affiliation, dossier_gen.stipulation_beneficiaire, dossier_gen.mois_demission_paye, dossier_gen.pleine_capacite_travail, dossier_gen.beneficiaire_rte_ai, dossier_gen.dte_deb_inva_reconnue_ai, dossier_gen.envoi_doc_affiliation, dossier_gen.adresse_paie, dossier_gen.dte_calc_deroulement, dossier_gen.dte_fina_plus_maintenu, dossier_gen.donnees_retraite_annoncees, dossier_gen.mnt_rachat_deg_pos, dossier_gen.suivi_retraite, dossier_gen.dte_prochain_suivi_retraite, dossier_gen.quest_retraite_employeur_recu, dossier_gen.migration_hermes, dossier_gen.motif_paiement, dossier_gen.avoir_50_ans_lpp, dossier_gen.dossier_cible_id
  • Index Cond: (dossier_gen.mut_dossier_id = mut_dossier.mut_dossier_id)
  • Buffers: shared hit=97620
44. 97.484 97.484 ↑ 6.0 1 24,371

Index Scan using d_g_in_pt_d_fk on iliade.part_dossier a1_part_dossier_affi (cost=0.43..0.80 rows=6 width=8) (actual time=0.004..0.004 rows=1 loops=24,371)

  • Output: a1_part_dossier_affi.part_dossier_id, a1_part_dossier_affi.dossier_gen_id, a1_part_dossier_affi.part_dossier_part_id, a1_part_dossier_affi.dossier_id, a1_part_dossier_affi.no_gen_dossier, a1_part_dossier_affi.role, a1_part_dossier_affi.usr_log_i, a1_part_dossier_affi.dte_log_i, a1_part_dossier_affi.usr_log_u, a1_part_dossier_affi.dte_log_u, a1_part_dossier_affi.audit
  • Index Cond: (a1_part_dossier_affi.dossier_gen_id = dossier_gen.dossier_gen_id)
  • Filter: ((a1_part_dossier_affi.role)::text = 'AFFI'::text)
  • Rows Removed by Filter: 3
  • Buffers: shared hit=98695
45. 316.823 316.823 ↑ 2.0 1 24,371

Index Scan using d_g_in_pi_d_fk on iliade.partie_dossier (cost=0.43..0.50 rows=2 width=22) (actual time=0.013..0.013 rows=1 loops=24,371)

  • Output: partie_dossier.partie_dossier_id, partie_dossier.partie_liee_partie_dossier_id, partie_dossier.dossier_gen_id, partie_dossier.partie_dossier_orig_id, partie_dossier.dossier_id, partie_dossier.no_gen_dossier, partie_dossier.etat, partie_dossier.type_partie, partie_dossier.type_deces, partie_dossier.dte_deb_partie, partie_dossier.dte_effet_idx, partie_dossier.avoir_50_ans, partie_dossier.type_inva, partie_dossier.dte_deb_inca_gain, partie_dossier.age_deb_inca_gain, partie_dossier.dte_fin_inca_gain, partie_dossier.dte_reexamen, partie_dossier.tx_inca_gain_reel, partie_dossier.tx_inca_gain_calc, partie_dossier.lib_passee, partie_dossier.inva_passee, partie_dossier.rechute, partie_dossier.dte_rechute, partie_dossier.faute_grave, partie_dossier.tx_reduc_faute_grave, partie_dossier.reticence, partie_dossier.accident, partie_dossier.cause_medicale_sinistre, partie_dossier.cause_risque_special_sinistre, partie_dossier.sal_actif_reparti, partie_dossier.delai_attente_lib_consomme, partie_dossier.delai_attente_ri_consomme, partie_dossier.dte_age_terme, partie_dossier.dte_deb_mise_en_pension, partie_dossier.tx_retraite, partie_dossier.suri_avec_pe, partie_dossier.suri_avec_idx, partie_dossier.dte_revision_ai, partie_dossier.dte_revision_caisse_pension, partie_dossier.tx_sal_suri, partie_dossier.tot_rev_recu, partie_dossier.reprise_ancienne_ip, partie_dossier.deb_paie_effectif, partie_dossier.sal_presume_perdu, partie_dossier.usr_log_i, partie_dossier.dte_log_i, partie_dossier.usr_log_u, partie_dossier.dte_log_u, partie_dossier.audit, partie_dossier.dte_echeance_partie, partie_dossier.calc_av_terme, partie_dossier.mnt_cpt_droits_transitoires, partie_dossier.int_cpt_droits_transitoires, partie_dossier.somme_risquee_reass_deces, partie_dossier.somme_risquee_reass_inva, partie_dossier.annonce_reass_deces, partie_dossier.annonce_reass_inva, partie_dossier.annonce_reass_deces_facultatif, partie_dossier.annonce_reass_inva_facultatif, partie_dossier.annonce_reass_deces_sinistre, partie_dossier.annonce_reass_inva_sinistre, partie_dossier.reass_deces, partie_dossier.reass_inva, partie_dossier.inva_proportion_reassuree, partie_dossier.fo_reass_id, partie_dossier.avoir_50_ans_lpp, partie_dossier.annonce_deces, partie_dossier.annonce_invalidite
  • Index Cond: (partie_dossier.dossier_gen_id = dossier_gen.dossier_gen_id)
  • Filter: ((partie_dossier.etat)::text = 'VALI'::text)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=97627
46. 244.400 244.400 ↑ 3.0 1 24,440

Index Scan using pi_in_prestso_fk on iliade.prest_sortie (cost=0.43..0.57 rows=3 width=26) (actual time=0.009..0.010 rows=1 loops=24,440)

  • Output: prest_sortie.prest_sortie_id, prest_sortie.partie_dossier_id, prest_sortie.dossier_id, prest_sortie.no_gen_dossier, prest_sortie.type_av_ap, prest_sortie.avoir_min_lpp, prest_sortie.avoir_reglementaire, prest_sortie.prest_propres_coti, prest_sortie.prest_sortie, prest_sortie.usr_log_i, prest_sortie.dte_log_i, prest_sortie.usr_log_u, prest_sortie.dte_log_u, prest_sortie.tx_impot_source, prest_sortie.mnt_impot_source, prest_sortie.prest_sortie_ms_impot_source, prest_sortie.avoir_plan_droits_acquis, prest_sortie.prest_sortie_gar, prest_sortie.prest_sortie_avec_rachats_nacq, prest_sortie.rachats_nacq, prest_sortie.audit, prest_sortie.mnt_max_va_logement, prest_sortie.mnt_pref_lp, prest_sortie.rachat_suppl_temporaire, prest_sortie.mnt_lpp_pref_lp
  • Index Cond: (prest_sortie.partie_dossier_id = partie_dossier.partie_dossier_id)
  • Filter: ((prest_sortie.type_av_ap)::text = 'APRE'::text)
  • Rows Removed by Filter: 1
  • Buffers: shared hit=98311
47. 81.271 81.271 ↑ 1.0 348,349 1

Index Only Scan using bi_partenaire_uk1 on biinfra.bi_partenaire a1_bi_partenaire_affi (cost=0.42..8,643.26 rows=348,929 width=4) (actual time=0.013..81.271 rows=348,349 loops=1)

  • Output: a1_bi_partenaire_affi.numero_contact
  • Heap Fetches: 0
  • Buffers: shared hit=1644
48.          

SubPlan (for Merge Join)

49. 171.080 171.080 ↑ 1.0 1 24,440

Index Scan using qsys_mut_lan_00001 on produit.mut_lan a (cost=0.28..2.50 rows=1 width=27) (actual time=0.007..0.007 rows=1 loops=24,440)

  • Output: a.nom_mut
  • Index Cond: ((a.mut_id = mut_dossier.mut_id) AND ((a.lan)::text = 'FR'::text))
  • Buffers: shared hit=73320
50. 268.840 268.840 ↑ 1.0 1 24,440

Index Scan using idx_code_texte_code_cle_code_type on produit.code_texte a_1 (cost=0.28..2.50 rows=1 width=16) (actual time=0.010..0.011 rows=1 loops=24,440)

  • Output: a_1.texte
  • Index Cond: (((mut_dossier.etat)::text = (a_1.code_cle)::text) AND ((a_1.code_type)::text = 'TypeEtatDossier'::text))
  • Filter: ((a_1.codet_langue)::text = 'FR'::text)
  • Buffers: shared hit=73320
51. 171.080 171.080 ↑ 1.0 1 24,440

Index Scan using idx_code_texte_code_cle_code_type on produit.code_texte a_2 (cost=0.28..2.50 rows=1 width=16) (actual time=0.007..0.007 rows=1 loops=24,440)

  • Output: a_2.texte
  • Index Cond: (((mut_dossier.statut)::text = (a_2.code_cle)::text) AND ((a_2.code_type)::text = 'TypeStatutDossier'::text))
  • Filter: ((a_2.codet_langue)::text = 'FR'::text)
  • Buffers: shared hit=73320
52. 146.640 146.640 ↑ 1.0 1 24,440

Index Scan using idx_code_texte_code_cle_code_type on produit.code_texte a_3 (cost=0.28..2.50 rows=1 width=16) (actual time=0.006..0.006 rows=1 loops=24,440)

  • Output: a_3.texte
  • Index Cond: (((a_3.code_cle)::text = (partie_dossier.etat)::text) AND ((a_3.code_type)::text = 'TypeEtat'::text))
  • Filter: ((a_3.codet_langue)::text = 'FR'::text)
  • Buffers: shared hit=73320
53. 122.200 122.200 ↑ 1.0 1 24,440

Index Scan using idx_code_texte_code_cle_code_type on produit.code_texte a_4 (cost=0.28..2.50 rows=1 width=16) (actual time=0.005..0.005 rows=1 loops=24,440)

  • Output: a_4.texte
  • Index Cond: (((a_4.code_cle)::text = (partie_dossier.type_partie)::text) AND ((a_4.code_type)::text = 'TypePartieDossier'::text))
  • Filter: ((a_4.codet_langue)::text = 'FR'::text)
  • Buffers: shared hit=73320
Planning time : 78.462 ms
Execution time : 923,124.537 ms