explain.depesz.com

PostgreSQL's explain analyze made readable

Result: BMWZ

Settings
# exclusive inclusive rows x rows loops node
1. 19.671 1,623,166.870 ↓ 10,615.0 10,615 1

GroupAggregate (cost=8,420,063.09..8,420,065.69 rows=1 width=867) (actual time=1,623,146.534..1,623,166.870 rows=10,615 loops=1)

  • Output: soc.soc_id, soc.desc_courte, tranches.no_tranches, prod.desc_courte, sum(tranches_gen.capital_restant_du), sum(tranches_gen.mnt_nominal), tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))), pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.localite, ((SubPlan 1)), sum(pret_estimation.valeur_venale_corrigee), sum(pret_garanties.mnt), fam_prod.desc_courte, sum(ecritures.solde), prod.pro_id, sum(ecritures.mnt_nominal), pret_garanties.pret_garantie_id, pret_garanties.dte_liberation, ((pret_gages.flag_principal)::integer), pret_gages.dte_liberation, ((pret_gages.flag_prendre_est)::integer)
  • Group Key: soc.soc_id, tranches.no_tranches, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))), pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.localite, ((SubPlan 1)), fam_prod.desc_courte, prod.pro_id, pret_garanties.pret_garantie_id, ((pret_gages.flag_principal)::integer), pret_gages.dte_liberation, ((pret_gages.flag_prendre_est)::integer)
  • Buffers: shared hit=144961196 read=34375
2. 145.562 1,623,147.199 ↓ 10,615.0 10,615 1

Sort (cost=8,420,063.09..8,420,063.10 rows=1 width=708) (actual time=1,623,146.478..1,623,147.199 rows=10,615 loops=1)

  • Output: soc.soc_id, tranches.no_tranches, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))), pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.localite, ((SubPlan 1)), fam_prod.desc_courte, prod.pro_id, pret_garanties.pret_garantie_id, ((pret_gages.flag_principal)::integer), pret_gages.dte_liberation, ((pret_gages.flag_prendre_est)::integer), soc.desc_courte, prod.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, pret_estimation.valeur_venale_corrigee, pret_garanties.mnt, ecritures.solde, ecritures.mnt_nominal, pret_garanties.dte_liberation
  • Sort Key: soc.soc_id, tranches.no_tranches, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))), pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.localite, ((SubPlan 1)), fam_prod.desc_courte, prod.pro_id, pret_garanties.pret_garantie_id, ((pret_gages.flag_principal)::integer), pret_gages.dte_liberation, ((pret_gages.flag_prendre_est)::integer)
  • Sort Method: quicksort Memory: 3204kB
  • Buffers: shared hit=144961196 read=34375
3. 233,449.420 1,623,001.637 ↓ 10,615.0 10,615 1

Nested Loop Left Join (cost=2.26..8,420,063.08 rows=1 width=708) (actual time=156,825.286..1,623,001.637 rows=10,615 loops=1)

  • Output: soc.soc_id, tranches.no_tranches, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))), pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.localite, (SubPlan 1), fam_prod.desc_courte, prod.pro_id, pret_garanties.pret_garantie_id, (pret_gages.flag_principal)::integer, pret_gages.dte_liberation, (pret_gages.flag_prendre_est)::integer, soc.desc_courte, prod.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, pret_estimation.valeur_venale_corrigee, pret_garanties.mnt, ecritures.solde, ecritures.mnt_nominal, pret_garanties.dte_liberation
  • Inner Unique: true
  • Join Filter: (pret_gages_immobiliers.pret_gages_id = pret_gages.pret_gages_id)
  • Rows Removed by Join Filter: 2247136197
  • Buffers: shared hit=144961184 read=34375
4. 325,810.908 1,214,532.097 ↓ 10,615.0 10,615 1

Nested Loop Left Join (cost=2.26..8,411,739.32 rows=1 width=161) (actual time=156,719.304..1,214,532.097 rows=10,615 loops=1)

  • Output: prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, ecritures.solde, ecritures.mnt_nominal, pret_garanties.mnt, pret_garanties.pret_garantie_id, pret_garanties.dte_liberation, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id, pret_estimation.valeur_venale_corrigee, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text)))
  • Join Filter: (pret_estimation.pret_gages_id = pret_gages.pret_gages_id)
  • Rows Removed by Join Filter: 3058691083
  • Buffers: shared hit=108560615 read=30884
5. 250,315.433 646,221.514 ↓ 10,615.0 10,615 1

Nested Loop Left Join (cost=2.26..8,400,260.97 rows=1 width=156) (actual time=156,614.060..646,221.514 rows=10,615 loops=1)

  • Output: prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, ecritures.solde, ecritures.mnt_nominal, pret_garanties.mnt, pret_garanties.pret_garantie_id, pret_garanties.dte_liberation, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text)))
  • Join Filter: (pret_garanties.dossier_gen_id = dossier_gen.dossier_gen_id)
  • Rows Removed by Join Filter: 2242772439
  • Filter: (pret_garanties.dte_liberation IS NULL)
  • Rows Removed by Filter: 1268
  • Buffers: shared hit=55543653 read=25921
6. 4,319.518 218,103.719 ↓ 5,274.0 5,274 1

Nested Loop Left Join (cost=2.26..8,383,070.78 rows=1 width=147) (actual time=156,428.700..218,103.719 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, ecritures.solde, ecritures.mnt_nominal, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id, (((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text)))
  • Inner Unique: true
  • Join Filter: (a1_part_pret.part_id = pret_roles.part_id)
  • Rows Removed by Join Filter: 65495148
  • Buffers: shared hit=15352847 read=18299
7. 58.138 181,560.061 ↓ 5,274.0 5,274 1

Nested Loop Left Join (cost=2.26..8,382,245.55 rows=1 width=119) (actual time=156,406.037..181,560.061 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, ecritures.solde, ecritures.mnt_nominal, pret_roles.part_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Filter: ((ecritures.ecritures_id = (SubPlan 4)) OR (ecritures.ecritures_id IS NULL))
  • Rows Removed by Filter: 6218
  • Buffers: shared hit=14214927 read=18003
8. 260.836 179,360.081 ↓ 5,274.0 5,274 1

Nested Loop Left Join (cost=1.97..8,370,133.91 rows=1 width=114) (actual time=156,405.963..179,360.081 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, tranches.tranches_id, plan_finan_chan.plan_finan_chan_id, pret_roles.part_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Join Filter: (plan_finan_chan.tranches_id = tranches.tranches_id)
  • Rows Removed by Join Filter: 1735104
  • Buffers: shared hit=12679517 read=17208
9. 5,961.994 178,941.025 ↓ 5,274.0 5,274 1

Nested Loop (cost=1.97..8,370,119.50 rows=1 width=110) (actual time=156,401.291..178,941.025 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches.no_tranches, tranches.tranches_id, pret_roles.part_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Inner Unique: true
  • Join Filter: (tranches_gen.tranches_id = tranches.tranches_id)
  • Rows Removed by Join Filter: 69955748
  • Buffers: shared hit=12642606 read=17201
10. 97,310.540 167,821.059 ↓ 5,274.0 5,274 1

Nested Loop (cost=1.97..8,369,508.95 rows=1 width=99) (actual time=156,386.816..167,821.059 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches_gen.tranches_id, pret_roles.part_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Join Filter: (pret_gen.dossier_gen_id = pret_roles.dossier_gen_id)
  • Rows Removed by Join Filter: 1132728624
  • Buffers: shared hit=11817891 read=16992
11. 493.217 493.217 ↓ 71.3 214,777 1

Seq Scan on atlas.pret_roles (cost=0.00..15,773.60 rows=3,013 width=8) (actual time=1.164..493.217 rows=214,777 loops=1)

  • Output: pret_roles.pret_roles_id, pret_roles.part_id, pret_roles.dossier_gen_id, pret_roles.role, pret_roles.flag_principal, pret_roles.dn_partenaire_representant_id, pret_roles.flag_correspondance, pret_roles.flag_facture, pret_roles.usr_log_i, pret_roles.dte_log_i, pret_roles.usr_log_u, pret_roles.dte_log_u, pret_roles.audit, pret_roles.rang
  • Filter: ((pret_roles.flag_principal)::integer = 1)
  • Rows Removed by Filter: 387730
  • Buffers: shared read=6736
12. 57,551.503 70,017.302 ↓ 277.6 5,274 214,777

Materialize (cost=1.97..8,352,876.68 rows=19 width=99) (actual time=0.053..0.326 rows=5,274 loops=214,777)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches_gen.tranches_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Buffers: shared hit=11817891 read=10256
13. 4.989 12,465.799 ↓ 277.6 5,274 1

Nested Loop Left Join (cost=1.97..8,352,876.59 rows=19 width=99) (actual time=11,410.495..12,465.799 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches_gen.tranches_id, pret_gages.flag_principal, pret_gages.dte_liberation, pret_gages.flag_prendre_est, pret_gages.pret_gages_id
  • Filter: ((pret_gages.dte_liberation IS NULL) AND (((pret_gages.flag_principal)::integer IS NULL) OR ((pret_gages.flag_principal)::integer = 1)))
  • Rows Removed by Filter: 2375
  • Buffers: shared hit=11817891 read=10256
14. 1.555 12,434.440 ↓ 3.5 5,274 1

Nested Loop (cost=1.54..8,352,092.34 rows=1,526 width=89) (actual time=11,409.335..12,434.440 rows=5,274 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte, tranches_gen.capital_restant_du, tranches_gen.mnt_nominal, tranches_gen.tx_int_dero, tranches_gen.tx_int_applique, tranches_gen.dte_echeance, tranches_gen.tx_amort, tranches_gen.type_tx_int, tranches_gen.tranches_id
  • Buffers: shared hit=11796979 read=10069
15. 2.940 12,366.339 ↓ 3.4 3,697 1

Nested Loop (cost=1.12..8,351,445.44 rows=1,086 width=55) (actual time=10,299.470..12,366.339 rows=3,697 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, pret_gen.pret_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, soc.soc_id, soc.desc_courte
  • Inner Unique: true
  • Join Filter: (fam_prod.soc_id = soc.soc_id)
  • Rows Removed by Join Filter: 7643
  • Buffers: shared hit=11782556 read=9273
16. 5.521 12,363.399 ↓ 3.4 3,697 1

Nested Loop (cost=1.12..8,351,342.53 rows=1,086 width=50) (actual time=10,299.448..12,363.399 rows=3,697 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, pret_gen.pret_gen_id, prod.desc_courte, prod.pro_id, fam_prod.desc_courte, fam_prod.soc_id
  • Inner Unique: true
  • Join Filter: (prod.fam_id = fam_prod.fam_id)
  • Rows Removed by Join Filter: 51304
  • Buffers: shared hit=11782555 read=9273
17. 6.139 12,354.181 ↓ 3.4 3,697 1

Nested Loop (cost=1.12..8,350,704.84 rows=1,086 width=41) (actual time=10,299.406..12,354.181 rows=3,697 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, pret_gen.pret_gen_id, prod.desc_courte, prod.pro_id, prod.fam_id
  • Inner Unique: true
  • Join Filter: (pret.dn_produit_dp_id = prod.pro_id)
  • Rows Removed by Join Filter: 51726
  • Buffers: shared hit=11782554 read=9273
18. 1.061 12,344.345 ↓ 3.4 3,697 1

Nested Loop (cost=1.12..8,348,353.00 rows=1,086 width=16) (actual time=10,299.349..12,344.345 rows=3,697 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, pret_gen.pret_gen_id, pret.dn_produit_dp_id
  • Inner Unique: true
  • Buffers: shared hit=11782551 read=9273
19. 3.378 12,321.102 ↓ 3.4 3,697 1

Nested Loop (cost=0.84..8,348,026.61 rows=1,086 width=16) (actual time=10,297.913..12,321.102 rows=3,697 loops=1)

  • Output: dossier_gen.dossier_gen_id, pret_gen.dossier_gen_id, pret_gen.pret_id, pret_gen.pret_gen_id
  • Buffers: shared hit=11771555 read=9167
20. 187.724 12,235.614 ↓ 5.2 5,474 1

Nested Loop (cost=0.42..8,347,522.98 rows=1,062 width=4) (actual time=504.593..12,235.614 rows=5,474 loops=1)

  • Output: dossier_gen.dossier_gen_id
  • Inner Unique: true
  • Buffers: shared hit=11752046 read=8647
21. 153.602 153.602 ↑ 1.0 212,398 1

Seq Scan on atlas.dossier_gen (cost=0.00..5,637.91 rows=212,436 width=8) (actual time=0.757..153.602 rows=212,398 loops=1)

  • Output: dossier_gen.dossier_gen_id, dossier_gen.mut_dossier_id, dossier_gen.visa_controleur, dossier_gen.dte_validation, dossier_gen.etat_dossier, dossier_gen.usr_log_i, dossier_gen.dte_log_i, dossier_gen.usr_log_u, dossier_gen.dte_log_u, dossier_gen.audit, dossier_gen.confidentiel, dossier_gen.flag_lettre_chtx, dossier_gen.flag_envoi_decompte, dossier_gen.conditions_generales, dossier_gen.type_affaire
  • Filter: ((dossier_gen.etat_dossier)::text <> 'REMB'::text)
  • Rows Removed by Filter: 6315
  • Buffers: shared read=2904
22. 637.194 11,894.288 ↓ 0.0 0 212,398

Index Scan using p_key_mut_dos on atlas.mut_dossier (cost=0.42..39.27 rows=1 width=8) (actual time=0.056..0.056 rows=0 loops=212,398)

  • Output: mut_dossier.mut_dossier_id, mut_dossier.dossier_id, mut_dossier.per_gest_id, mut_dossier.mut_id, mut_dossier.dte_jour, mut_dossier.dte_mut, mut_dossier.statut, mut_dossier.no_mut_prec, mut_dossier.no_mut_suiv, mut_dossier.dn_pret_id, mut_dossier.dn_pret_no, mut_dossier.dn_tranches_id, mut_dossier.usr_modif_par, mut_dossier.dte_modif, mut_dossier.usr_contrl_par, mut_dossier.dte_contrl, mut_dossier.code_traitement_chgtx, mut_dossier.flag_recalcul_annuite_chgtx, mut_dossier.flag_simulation_chgtx, mut_dossier.description, mut_dossier.no_mut_dp, mut_dossier.usr_log_i, mut_dossier.dte_log_i, mut_dossier.usr_log_u, mut_dossier.dte_log_u, mut_dossier.audit, mut_dossier.nouveau_cas, mut_dossier.pas_de_cas, mut_dossier.cas_id, mut_dossier.type_cas
  • Index Cond: (mut_dossier.mut_dossier_id = dossier_gen.mut_dossier_id)
  • Filter: (mut_dossier.mut_dossier_id = (SubPlan 2))
  • Rows Removed by Filter: 1
  • Buffers: shared hit=11752046 read=5743
23.          

SubPlan (for Index Scan)

24. 849.592 11,257.094 ↑ 1.0 1 212,398

Aggregate (cost=38.79..38.80 rows=1 width=4) (actual time=0.053..0.053 rows=1 loops=212,398)

  • Output: max(a_1.mut_dossier_id)
  • Buffers: shared hit=10902100 read=4955
25. 10,407.502 10,407.502 ↓ 1.5 53 212,398

Index Scan using idx_mut_dossier_dossier_id on atlas.mut_dossier a_1 (cost=0.42..38.70 rows=35 width=4) (actual time=0.004..0.049 rows=53 loops=212,398)

  • Output: a_1.mut_dossier_id, a_1.dossier_id, a_1.per_gest_id, a_1.mut_id, a_1.dte_jour, a_1.dte_mut, a_1.statut, a_1.no_mut_prec, a_1.no_mut_suiv, a_1.dn_pret_id, a_1.dn_pret_no, a_1.dn_tranches_id, a_1.usr_modif_par, a_1.dte_modif, a_1.usr_contrl_par, a_1.dte_contrl, a_1.code_traitement_chgtx, a_1.flag_recalcul_annuite_chgtx, a_1.flag_simulation_chgtx, a_1.description, a_1.no_mut_dp, a_1.usr_log_i, a_1.dte_log_i, a_1.usr_log_u, a_1.dte_log_u, a_1.audit, a_1.nouveau_cas, a_1.pas_de_cas, a_1.cas_id, a_1.type_cas
  • Index Cond: (mut_dossier.dossier_id = a_1.dossier_id)
  • Filter: ((a_1.dte_mut <= '2019-12-31'::date) AND ((a_1.statut)::text = 'VALI'::text))
  • Rows Removed by Filter: 2
  • Buffers: shared hit=10902100 read=4955
26. 82.110 82.110 ↑ 1.0 1 5,474

Index Scan using idx4fk_f_dos_gen_pret_gen on atlas.pret_gen (cost=0.42..0.46 rows=1 width=12) (actual time=0.015..0.015 rows=1 loops=5,474)

  • Output: pret_gen.pret_gen_id, pret_gen.pret_id, pret_gen.dossier_gen_id, pret_gen.tx_avance_1_rang, pret_gen.tx_avance_2_rang, pret_gen.tx_avance_autr, pret_gen.frequence_annuite, pret_gen.dn_cate_ancien_dp_id, pret_gen.traite_par, pret_gen.gere_par, pret_gen.dte_derniere_echeance, pret_gen.dte_prochaine_echeance, pret_gen.mnt_prom_consol, pret_gen.etat, pret_gen.dn_demande_gen_id, pret_gen.dte_remb, pret_gen.flag_lien_architecte, pret_gen.dte_edition_contrat, pret_gen.tx_avance_technq_1er_rang, pret_gen.usr_log_i, pret_gen.dte_log_i, pret_gen.usr_log_u, pret_gen.dte_log_u, pret_gen.audit, pret_gen.flag_stat_complement, pret_gen.flag_stat_sus_amort, pret_gen.flag_stat_conver_tranche, pret_gen.flag_stat_delegation_pret, pret_gen.flag_stat_lib_garantie, pret_gen.flag_stat_remb_tranche, pret_gen.flag_stat_maj_etat_dossier, pret_gen.flag_stat_maj_lettre_chtx, pret_gen.flag_stat_maj_garantie, pret_gen.flag_stat_maj_gage, pret_gen.flag_stat_lib_gage, pret_gen.flag_stat_maj_dossier, pret_gen.flag_stat_maj_part, pret_gen.flag_stat_maj_nominal, pret_gen.flag_stat_maj_finance, pret_gen.flag_stat_fact_frais
  • Index Cond: (pret_gen.dossier_gen_id = dossier_gen.dossier_gen_id)
  • Buffers: shared hit=19509 read=520
27. 22.182 22.182 ↑ 1.0 1 3,697

Index Scan using p_key_pret on atlas.pret (cost=0.28..0.30 rows=1 width=8) (actual time=0.006..0.006 rows=1 loops=3,697)

  • Output: pret.pret_id, pret.dossier_id, pret.no_pret, pret.dn_produit_dp_id, pret.dn_famille_dp_id, pret.date_debut_pret, pret.usr_log_i, pret.dte_log_i, pret.usr_log_u, pret.dte_log_u, pret.audit
  • Index Cond: (pret.pret_id = pret_gen.pret_id)
  • Buffers: shared hit=10996 read=106
28. 3.601 3.697 ↑ 9.7 15 3,697

Materialize (cost=0.00..5.17 rows=145 width=29) (actual time=0.000..0.001 rows=15 loops=3,697)

  • Output: prod.desc_courte, prod.pro_id, prod.fam_id
  • Buffers: shared hit=3
29. 0.096 0.096 ↑ 1.1 129 1

Seq Scan on produit.prod (cost=0.00..4.45 rows=145 width=29) (actual time=0.025..0.096 rows=129 loops=1)

  • Output: prod.desc_courte, prod.pro_id, prod.fam_id
  • Buffers: shared hit=3
30. 3.669 3.697 ↑ 2.7 15 3,697

Materialize (cost=0.00..1.60 rows=40 width=17) (actual time=0.000..0.001 rows=15 loops=3,697)

  • Output: fam_prod.desc_courte, fam_prod.fam_id, fam_prod.soc_id
  • Buffers: shared hit=1
31. 0.028 0.028 ↑ 1.3 30 1

Seq Scan on produit.fam_prod (cost=0.00..1.40 rows=40 width=17) (actual time=0.014..0.028 rows=30 loops=1)

  • Output: fam_prod.desc_courte, fam_prod.fam_id, fam_prod.soc_id
  • Buffers: shared hit=1
32. 0.000 0.000 ↑ 2.3 3 3,697

Materialize (cost=0.00..1.10 rows=7 width=9) (actual time=0.000..0.000 rows=3 loops=3,697)

  • Output: soc.soc_id, soc.desc_courte
  • Buffers: shared hit=1
33. 0.021 0.021 ↑ 1.2 6 1

Seq Scan on produit.soc (cost=0.00..1.07 rows=7 width=9) (actual time=0.014..0.021 rows=6 loops=1)

  • Output: soc.soc_id, soc.desc_courte
  • Buffers: shared hit=1
34. 66.546 66.546 ↑ 2.0 1 3,697

Index Scan using idx4fk_f_pre_gen_tra_gen on atlas.tranches_gen (cost=0.42..0.58 rows=2 width=42) (actual time=0.015..0.018 rows=1 loops=3,697)

  • Output: tranches_gen.tranches_gen_id, tranches_gen.pret_gen_id, tranches_gen.tranches_id, tranches_gen.tx_amort, tranches_gen.tx_avance, tranches_gen.tx_int_dero, tranches_gen.marge_dero, tranches_gen.tx_plafond, tranches_gen.mnt_annuite, tranches_gen.mnt_annuite_ancien, tranches_gen.dte_debut_sus, tranches_gen.raison_sus, tranches_gen.dte_fin_sus, tranches_gen.echeance_tx_plafond, tranches_gen.type_tx_int, tranches_gen.raison_tx_dero, tranches_gen.code_recalcul_annuite, tranches_gen.flag_amort_indirect, tranches_gen.capital_initial, tranches_gen.tx_fixe_id, tranches_gen.dte_tx_base, tranches_gen.mnt_nominal, tranches_gen.capital_restant_du, tranches_gen.dte_rembourse, tranches_gen.mnt_amort_min, tranches_gen.mnt_amort_min_ancien, tranches_gen.dte_echeance, tranches_gen.dte_1_decais, tranches_gen.nb_jours_int, tranches_gen.flag_cloture_auto, tranches_gen.tx_int_applique, tranches_gen.tx_marge_rating_dp_id, tranches_gen.tx_marge_ancien, tranches_gen.tx_marge_avance_id, tranches_gen.tx_marge_gage_id, tranches_gen.tx_base_id, tranches_gen.tx_marge_produit_id, tranches_gen.etat, tranches_gen.flag_tx_dero_applique, tranches_gen.dn_tranches_demande_gen_id, tranches_gen.code_conversion, tranches_gen.flag_exist_avant_mut, tranches_gen.dn_prec_tranche_gen_id, tranches_gen.flag_interet_minimum, tranches_gen.tx_avance_technq, tranches_gen.usr_log_i, tranches_gen.dte_log_i, tranches_gen.usr_log_u, tranches_gen.dte_log_u, tranches_gen.audit, tranches_gen.mnt_nominal_stat, tranches_gen.flag_decaiss_en_cours, tranches_gen.flag_report_sur_2e_rang, tranches_gen.flag_susp_determinee, tranches_gen.flag_susp_indeterminee, tranches_gen.flag_susp_autre, tranches_gen.tx_marge_plus_bas_r2_id, tranches_gen.origine_conversion, tranches_gen.accept_empty_origine_conversion
  • Index Cond: (tranches_gen.pret_gen_id = pret_gen.pret_gen_id)
  • Filter: ((tranches_gen.etat)::text <> 'REMB'::text)
  • Rows Removed by Filter: 2
  • Buffers: shared hit=14423 read=796
35. 26.370 26.370 ↑ 2.0 1 5,274

Index Scan using idx4fk_f_dos_gen_gages on atlas.pret_gages (cost=0.42..0.48 rows=2 width=14) (actual time=0.005..0.005 rows=1 loops=5,274)

  • Output: pret_gages.pret_gages_id, pret_gages.dossier_gen_id, pret_gages.gage_niv1_id, pret_gages.gage_niv2_id, pret_gages.flag_prendre_est, pret_gages.dte_liberation, pret_gages.etat, pret_gages.flag_principal, pret_gages.flag_exist_avant_mut, pret_gages.dn_prec_gages_id, pret_gages.usr_log_i, pret_gages.dte_log_i, pret_gages.usr_log_u, pret_gages.dte_log_u, pret_gages.audit
  • Index Cond: (pret_gages.dossier_gen_id = dossier_gen.dossier_gen_id)
  • Buffers: shared hit=20912 read=187
36. 5,157.972 5,157.972 ↑ 1.3 13,265 5,274

Seq Scan on atlas.tranches (cost=0.00..387.47 rows=17,847 width=15) (actual time=0.003..0.978 rows=13,265 loops=5,274)

  • Output: tranches.tranches_id, tranches.pret_id, tranches.dernier_no_tranches_gen_id, tranches.dn_tranches_dp_id, tranches.no_tranches_reprise, tranches.no_tranches, tranches.usr_log_i, tranches.dte_log_i, tranches.usr_log_u, tranches.dte_log_u, tranches.audit
  • Buffers: shared hit=824715 read=209
37. 158.220 158.220 ↑ 1.0 329 5,274

Seq Scan on atlas.plan_finan_chan (cost=0.00..10.29 rows=329 width=8) (actual time=0.003..0.030 rows=329 loops=5,274)

  • Output: plan_finan_chan.plan_finan_chan_id, plan_finan_chan.tranches_id, plan_finan_chan.total_mnt_devise, plan_finan_chan.total_mnt_actualise, plan_finan_chan.total_mnt_paye_cc, plan_finan_chan.total_mnt_paye_fonds_propres, plan_finan_chan.total_solde_payer, plan_finan_chan.cfc_mnt_depassement, plan_finan_chan.mnt_avance, plan_finan_chan.mnt_avance_initiale, plan_finan_chan.prix_revient_m2, plan_finan_chan.ecr_solde, plan_finan_chan.ecr_capital_initial, plan_finan_chan.ecr_mnt_nominal, plan_finan_chan.ecr_disponible, plan_finan_chan.ecr_mnt_fon_prop_verses, plan_finan_chan.ecr_mnt_fon_prop_a_verser, plan_finan_chan.usr_log_i, plan_finan_chan.dte_log_i, plan_finan_chan.usr_log_u, plan_finan_chan.dte_log_u, plan_finan_chan.audit, plan_finan_chan.date_devis_actualise, plan_finan_chan.date_avancement_travaux, plan_finan_chan.type_avancement_travaux, plan_finan_chan.pourcentage_avancement_travaux, plan_finan_chan.nouveau_cas, plan_finan_chan.pas_de_cas, plan_finan_chan.cas_id, plan_finan_chan.type_cas
  • Buffers: shared hit=36911 read=7
38. 15.822 15.822 ↑ 122.0 1 5,274

Index Scan using idx4fk_f_pla_fin_cha_ecr on atlas.ecritures (cost=0.29..6.01 rows=122 width=21) (actual time=0.003..0.003 rows=1 loops=5,274)

  • Output: ecritures.ecritures_id, ecritures.caracter_type_ecr_id, ecritures.plan_finan_chan_id, ecritures.mnt, ecritures.mnt_ancien, ecritures.no_encaissement, ecritures.description, ecritures.commentaire, ecritures.statut, ecritures.dte_valeur, ecritures.mnt_nominal, ecritures.solde, ecritures.capital_initial, ecritures.disponible, ecritures.flag_a_envoyer, ecritures.raison_extourne, ecritures.dn_partenaire_id, ecritures.dn_tranches_gen_id, ecritures.communication1, ecritures.communication2, ecritures.communication3, ecritures.communication4, ecritures.no_ecriture_dp, ecritures.mnt_ancien_nominal, ecritures.mnt_diff_nominal, ecritures.periode_gestion_id, ecritures.date_extourne, ecritures.usr_log_i, ecritures.dte_log_i, ecritures.usr_log_u, ecritures.dte_log_u, ecritures.audit, ecritures.deja_paye, ecritures.nouveau_cas, ecritures.pas_de_cas, ecritures.cas_id, ecritures.type_cas
  • Index Cond: (ecritures.plan_finan_chan_id = plan_finan_chan.plan_finan_chan_id)
  • Buffers: shared hit=2664 read=33
39.          

SubPlan (for Nested Loop Left Join)

40. 0.000 2,126.020 ↑ 1.0 1 11,492

Aggregate (cost=99.20..99.21 rows=1 width=4) (actual time=0.185..0.185 rows=1 loops=11,492)

  • Output: max(b.ecritures_id)
  • Buffers: shared hit=1532746 read=762
41.          

Initplan (for Aggregate)

42. 162.760 1,314.600 ↑ 1.0 1 6,260

Aggregate (cost=50.17..50.18 rows=1 width=4) (actual time=0.210..0.210 rows=1 loops=6,260)

  • Output: max(a_2.dte_valeur)
  • Buffers: shared hit=747983 read=762
43. 225.360 1,151.840 ↓ 3.2 368 6,260

Nested Loop (cost=0.72..49.88 rows=116 width=4) (actual time=0.007..0.184 rows=368 loops=6,260)

  • Output: a_2.dte_valeur
  • Buffers: shared hit=747983 read=762
44. 6.260 25.040 ↑ 1.0 1 6,260

Nested Loop (cost=0.43..3.78 rows=1 width=4) (actual time=0.003..0.004 rows=1 loops=6,260)

  • Output: p.plan_finan_chan_id
  • Buffers: shared hit=25021 read=20
45. 6.260 6.260 ↑ 1.0 1 6,260

Index Scan using idx4fk_f_tra_pla_fin on atlas.plan_finan_chan p (cost=0.15..2.37 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=6,260)

  • Output: p.plan_finan_chan_id, p.tranches_id, p.total_mnt_devise, p.total_mnt_actualise, p.total_mnt_paye_cc, p.total_mnt_paye_fonds_propres, p.total_solde_payer, p.cfc_mnt_depassement, p.mnt_avance, p.mnt_avance_initiale, p.prix_revient_m2, p.ecr_solde, p.ecr_capital_initial, p.ecr_mnt_nominal, p.ecr_disponible, p.ecr_mnt_fon_prop_verses, p.ecr_mnt_fon_prop_a_verser, p.usr_log_i, p.dte_log_i, p.usr_log_u, p.dte_log_u, p.audit, p.date_devis_actualise, p.date_avancement_travaux, p.type_avancement_travaux, p.pourcentage_avancement_travaux, p.nouveau_cas, p.pas_de_cas, p.cas_id, p.type_cas
  • Index Cond: (p.tranches_id = tranches.tranches_id)
  • Buffers: shared hit=12520
46. 12.520 12.520 ↑ 1.0 1 6,260

Index Only Scan using p_key_tranches on atlas.tranches t (cost=0.29..1.41 rows=1 width=4) (actual time=0.002..0.002 rows=1 loops=6,260)

  • Output: t.tranches_id
  • Index Cond: (t.tranches_id = tranches.tranches_id)
  • Heap Fetches: 0
  • Buffers: shared hit=12501 read=20
47. 901.440 901.440 ↓ 3.1 368 6,260

Index Scan using idx4fk_f_pla_fin_cha_ecr on atlas.ecritures a_2 (cost=0.29..44.92 rows=118 width=8) (actual time=0.003..0.144 rows=368 loops=6,260)

  • Output: a_2.ecritures_id, a_2.caracter_type_ecr_id, a_2.plan_finan_chan_id, a_2.mnt, a_2.mnt_ancien, a_2.no_encaissement, a_2.description, a_2.commentaire, a_2.statut, a_2.dte_valeur, a_2.mnt_nominal, a_2.solde, a_2.capital_initial, a_2.disponible, a_2.flag_a_envoyer, a_2.raison_extourne, a_2.dn_partenaire_id, a_2.dn_tranches_gen_id, a_2.communication1, a_2.communication2, a_2.communication3, a_2.communication4, a_2.no_ecriture_dp, a_2.mnt_ancien_nominal, a_2.mnt_diff_nominal, a_2.periode_gestion_id, a_2.date_extourne, a_2.usr_log_i, a_2.dte_log_i, a_2.usr_log_u, a_2.dte_log_u, a_2.audit, a_2.deja_paye, a_2.nouveau_cas, a_2.pas_de_cas, a_2.cas_id, a_2.type_cas
  • Index Cond: (a_2.plan_finan_chan_id = p.plan_finan_chan_id)
  • Filter: ((a_2.dte_valeur <= '2019-12-31'::date) AND ((a_2.statut)::text = 'VALI'::text))
  • Rows Removed by Filter: 13
  • Buffers: shared hit=722962 read=742
48. 12.823 2,103.036 ↓ 2.0 2 11,492

Nested Loop (cost=0.72..49.02 rows=1 width=4) (actual time=0.170..0.183 rows=2 loops=11,492)

  • Output: b.ecritures_id
  • Buffers: shared hit=1532746 read=762
49. 18.364 2,068.560 ↓ 2.0 2 11,492

Nested Loop (cost=0.44..47.60 rows=1 width=8) (actual time=0.168..0.180 rows=2 loops=11,492)

  • Output: b.ecritures_id, c.tranches_id
  • Buffers: shared hit=1489439 read=762
50. 34.476 34.476 ↑ 1.0 1 11,492

Index Scan using idx4fk_f_tra_pla_fin on atlas.plan_finan_chan c (cost=0.15..2.37 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=11,492)

  • Output: c.plan_finan_chan_id, c.tranches_id, c.total_mnt_devise, c.total_mnt_actualise, c.total_mnt_paye_cc, c.total_mnt_paye_fonds_propres, c.total_solde_payer, c.cfc_mnt_depassement, c.mnt_avance, c.mnt_avance_initiale, c.prix_revient_m2, c.ecr_solde, c.ecr_capital_initial, c.ecr_mnt_nominal, c.ecr_disponible, c.ecr_mnt_fon_prop_verses, c.ecr_mnt_fon_prop_a_verser, c.usr_log_i, c.dte_log_i, c.usr_log_u, c.dte_log_u, c.audit, c.date_devis_actualise, c.date_avancement_travaux, c.type_avancement_travaux, c.pourcentage_avancement_travaux, c.nouveau_cas, c.pas_de_cas, c.cas_id, c.type_cas
  • Index Cond: (c.tranches_id = tranches.tranches_id)
  • Buffers: shared hit=17752
51. 2,015.720 2,015.720 ↓ 3.0 3 6,260

Index Scan using idx4fk_f_pla_fin_cha_ecr on atlas.ecritures b (cost=0.29..45.23 rows=1 width=8) (actual time=0.302..0.322 rows=3 loops=6,260)

  • Output: b.ecritures_id, b.caracter_type_ecr_id, b.plan_finan_chan_id, b.mnt, b.mnt_ancien, b.no_encaissement, b.description, b.commentaire, b.statut, b.dte_valeur, b.mnt_nominal, b.solde, b.capital_initial, b.disponible, b.flag_a_envoyer, b.raison_extourne, b.dn_partenaire_id, b.dn_tranches_gen_id, b.communication1, b.communication2, b.communication3, b.communication4, b.no_ecriture_dp, b.mnt_ancien_nominal, b.mnt_diff_nominal, b.periode_gestion_id, b.date_extourne, b.usr_log_i, b.dte_log_i, b.usr_log_u, b.dte_log_u, b.audit, b.deja_paye, b.nouveau_cas, b.pas_de_cas, b.cas_id, b.type_cas
  • Index Cond: (b.plan_finan_chan_id = c.plan_finan_chan_id)
  • Filter: ((b.dte_valeur <= '2019-12-31'::date) AND (b.dte_valeur = $5) AND ((b.statut)::text = 'VALI'::text))
  • Rows Removed by Filter: 377
  • Buffers: shared hit=1471687 read=762
52. 21.653 21.653 ↑ 1.0 1 21,653

Index Only Scan using p_key_tranches on atlas.tranches d (cost=0.29..1.41 rows=1 width=4) (actual time=0.001..0.001 rows=1 loops=21,653)

  • Output: d.tranches_id
  • Index Cond: (d.tranches_id = tranches.tranches_id)
  • Heap Fetches: 0
  • Buffers: shared hit=43307
53. 32,224.140 32,224.140 ↑ 1.3 12,419 5,274

Seq Scan on atlas.part a1_part_pret (cost=0.00..621.68 rows=16,284 width=36) (actual time=0.006..6.110 rows=12,419 loops=5,274)

  • Output: a1_part_pret.part_id, ((btrim((COALESCE(a1_part_pret.nom_part, ''::character varying))::text) || ' '::text) || btrim((COALESCE(a1_part_pret.prenom_part, ''::character varying))::text))
  • Buffers: shared hit=1137920 read=296
54. 177,802.362 177,802.362 ↑ 1.0 425,253 5,274

Seq Scan on atlas.pret_garanties (cost=0.00..11,874.53 rows=425,253 width=17) (actual time=0.003..33.713 rows=425,253 loops=5,274)

  • Output: pret_garanties.pret_garantie_id, pret_garanties.dossier_gen_id, pret_garanties.genre_garantie, pret_garanties.description, pret_garanties.rang_garantie, pret_garanties.dte_envoi, pret_garanties.titre, pret_garanties.dn_part_deposit_id, pret_garanties.dte_creation, pret_garanties.dte_echeance, pret_garanties.mnt, pret_garanties.mnt_disponible, pret_garanties.commentaire, pret_garanties.code_garantie_mobiliere, pret_garanties.type_cautionnement, pret_garanties.dte_retour, pret_garanties.type_garantie, pret_garanties.flag_garantie_princ, pret_garanties.flag_parite_rang, pret_garanties.dn_part_dest_id, pret_garanties.code_engage_notaire_recu, pret_garanties.mnt_realisation, pret_garanties.dte_realisation, pret_garanties.dte_liberation, pret_garanties.etat, pret_garanties.flag_exist_avant_mut, pret_garanties.dn_prec_garanties_id, pret_garanties.usr_log_i, pret_garanties.dte_log_i, pret_garanties.usr_log_u, pret_garanties.dte_log_u, pret_garanties.audit
  • Buffers: shared hit=40190806 read=7622
55. 242,499.675 242,499.675 ↑ 1.0 288,149 10,615

Seq Scan on atlas.pret_estimation (cost=0.00..7,876.49 rows=288,149 width=9) (actual time=0.002..22.845 rows=288,149 loops=10,615)

  • Output: pret_estimation.pret_estimation_id, pret_estimation.pret_gages_id, pret_estimation.annee_est_rachat, pret_estimation.total_surface_ponderee, pret_estimation.total_volume, pret_estimation.total_est_rachat, pret_estimation.est_fiscale, pret_estimation.annee_est_fiscale, pret_estimation.valeur_base_incendie, pret_estimation.indice_base_incendie, pret_estimation.indice_jour_incendie, pret_estimation.valeur_incendie, pret_estimation.type_volume, pret_estimation.revenu_locatif_habi, pret_estimation.etat_locatif_annualise1, pret_estimation.etat_locatif_annualise2, pret_estimation.tx_capitalisation1, pret_estimation.tx_capitalisation2, pret_estimation.type_etat_locatif, pret_estimation.code_vr_calculer, pret_estimation.valeur_venale_corrigee, pret_estimation.valeur_locative_m2, pret_estimation.prix_revient_m2, pret_estimation.prix_revient_m3, pret_estimation.avance_m2, pret_estimation.valeur_rendement, pret_estimation.valeur_venale, pret_estimation.total_bienfond, pret_estimation.revenu_locatif_comm, pret_estimation.tx_revenu_habi, pret_estimation.tx_revenu_comm, pret_estimation.flag_revenu_locatif_comm, pret_estimation.flag_revenu_locatif_habi, pret_estimation.flag_etat_locatif_comm, pret_estimation.flag_etat_locatif_habi, pret_estimation.usr_log_i, pret_estimation.dte_log_i, pret_estimation.usr_log_u, pret_estimation.dte_log_u, pret_estimation.audit, pret_estimation.flag_visite, pret_estimation.dte_visite, pret_estimation.annee_etats_locatifs, pret_estimation.certif_cecb_enveloppe, pret_estimation.certif_cecb_globale, pret_estimation.dte_controle_cecb, pret_estimation.flag_cecbplus
  • Buffers: shared hit=53016962 read=4963
56. 174,818.435 174,818.435 ↑ 1.0 211,695 10,615

Seq Scan on atlas.pret_gages_immobiliers (cost=0.00..5,635.00 rows=214,900 width=37) (actual time=0.003..16.469 rows=211,695 loops=10,615)

  • Output: pret_gages_immobiliers.pret_gages_id, pret_gages_immobiliers.annee_construction, pret_gages_immobiliers.annee_renovation, pret_gages_immobiliers.echeance_droit_superficie, pret_gages_immobiliers.rue, pret_gages_immobiliers.no_rue, pret_gages_immobiliers.no_postal, pret_gages_immobiliers.canton, pret_gages_immobiliers.localite, pret_gages_immobiliers.prix_achat, pret_gages_immobiliers.travaux, pret_gages_immobiliers.prix_revient_global, pret_gages_immobiliers.valeur_expertise, pret_gages_immobiliers.dte_expertise, pret_gages_immobiliers.nom_expert, pret_gages_immobiliers.statut_juridique, pret_gages_immobiliers.usr_log_i, pret_gages_immobiliers.dte_log_i, pret_gages_immobiliers.usr_log_u, pret_gages_immobiliers.dte_log_u, pret_gages_immobiliers.dn_cate_rating_dp_id, pret_gages_immobiliers.dte_rating, pret_gages_immobiliers.audit, pret_gages_immobiliers.desc_renovation, pret_gages_immobiliers.mnt_redevance_annuelle, pret_gages_immobiliers.montant_1_rang, pret_gages_immobiliers.montant_2_rang, pret_gages_immobiliers.montant_propose, pret_gages_immobiliers.rev_annuel_minimum, pret_gages_immobiliers.frais_achat, pret_gages_immobiliers.flag_detail_finan, pret_gages_immobiliers.pret_gages_immobiliers_id
  • Buffers: shared hit=36368729 read=3486
57.          

SubPlan (for Nested Loop Left Join)

58. 201.685 201.685 ↑ 1.0 1 10,615

Index Scan using idx_code_texte_code_cle_code_type on produit.code_texte a (cost=0.28..2.50 rows=1 width=15) (actual time=0.019..0.019 rows=1 loops=10,615)

  • Output: a.texte
  • Index Cond: (((tranches_gen.type_tx_int)::text = (a.code_cle)::text) AND ((a.code_type)::text = 'TypeAtlasTauxInterets'::text))
  • Filter: ((a.codet_langue)::text = 'FR'::text)
  • Buffers: shared hit=31840 read=5
Planning time : 64.393 ms
Execution time : 1,623,169.786 ms