explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 58UO

Settings
# exclusive inclusive rows x rows loops node
1. 0.461 11.520 ↑ 1.4 5 1

GroupAggregate (cost=308.79..309.18 rows=7 width=269) (actual time=11.046..11.520 rows=5 loops=1)

  • Output: sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_present)::smallint), sum((a.age_jours)::integer), sum((ae.age_jours)::integer), t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, COALESCE(sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois)::numeric), 0.0), COALESCE(sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois)::numeric), 0.0), COALESCE(sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois)::numeric), 0.0), COALESCE(sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois)::numeric), 0.0), COALESCE(sum((t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois)::numeric), 0.0), t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_det
  • Group Key: t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation
  • t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_sexe, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_race, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_exploitation_elevage, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree
2. 0.782 11.059 ↓ 109.6 767 1

Sort (cost=308.79..308.81 rows=7 width=119) (actual time=11.020..11.059 rows=767 loops=1)

  • Output: t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation, t_fait_bov_mouvements_mvt_y2012m04.mvt_present, a.age_jours, ae.age_jours, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_dim_exploitation_exp.exp_num_det
  • Sort Key: t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation
  • Sort Method: quicksort Memory: 132kB
3. 0.553 10.277 ↓ 109.6 767 1

Nested Loop (cost=4.21..308.69 rows=7 width=119) (actual time=0.320..10.277 rows=767 loops=1)

  • Output: t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation, t_fait_bov_mouvements_mvt_y2012m04.mvt_present, a.age_jours, ae.age_jours, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_dim_exploitation_exp.exp_num_det
  • Inner Unique: true
4. 0.192 8.957 ↓ 109.6 767 1

Nested Loop (cost=3.92..291.83 rows=7 width=117) (actual time=0.309..8.957 rows=767 loops=1)

  • Output: t_fait_bov_mouvements_mvt_y2012m04.mvt_present, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree, t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_det, a.age_jours
  • Inner Unique: true
5. 0.466 7.231 ↓ 109.6 767 1

Nested Loop (cost=3.63..274.96 rows=7 width=115) (actual time=0.284..7.231 rows=767 loops=1)

  • Output: t_fait_bov_mouvements_mvt_y2012m04.mvt_present, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree, t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_detail, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_det
  • Inner Unique: true
6. 0.361 5.998 ↓ 109.6 767 1

Hash Join (cost=3.48..263.01 rows=7 width=53) (actual time=0.237..5.998 rows=767 loops=1)

  • Output: t_fait_bov_mouvements_mvt_y2012m04.mvt_present, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_sexe, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree, t_dim_race_rac.rac_cat_raciale_dominante, t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_det
  • Inner Unique: true
  • Hash Cond: ((t_fait_bov_mouvements_mvt_y2012m04.mvt_id_race)::smallint = t_dim_race_rac.rac_id_race)
7. 0.167 5.590 ↓ 42.6 767 1

Nested Loop (cost=0.86..260.35 rows=18 width=49) (actual time=0.139..5.590 rows=767 loops=1)

  • Output: t_fait_bov_mouvements_mvt_y2012m04.mvt_present, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbeur_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbpc_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbag_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_sexe, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_race, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age, t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree, t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_det
8. 0.073 0.073 ↑ 1.0 1 1

Index Scan using x_btr_exp_num on entrepot.t_dim_exploitation_exp (cost=0.43..2.65 rows=1 width=15) (actual time=0.072..0.073 rows=1 loops=1)

  • Output: t_dim_exploitation_exp.exp_id_exploitation, t_dim_exploitation_exp.exp_num_exploitation, t_dim_exploitation_exp.exp_num_det, t_dim_exploitation_exp.exp_code_type_exploitation, t_dim_exploitation_exp.exp_type_exploitation, t_dim_exploitation_exp.exp_date_debut, t_dim_exploitation_exp.exp_date_fin, t_dim_exploitation_exp.exp_valide, t_dim_exploitation_exp.exp_version
  • Index Cond: ((t_dim_exploitation_exp.exp_num_exploitation)::text = 'FR08073027'::text)
9. 0.091 5.350 ↓ 1.8 767 1

Append (cost=0.44..253.45 rows=425 width=38) (actual time=0.059..5.350 rows=767 loops=1)

10. 5.259 5.259 ↓ 1.8 767 1

Index Scan using t_fait_bov_mouvements_mvt_date_exp_y2012m04 on entrepot.t_fait_bov_mouvements_mvt_y2012m04 (cost=0.44..251.33 rows=425 width=38) (actual time=0.056..5.259 rows=767 loops=1)

  • Output: t_fait_bov_mouvements_mvt_y2012m04.mvt_present, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugb_tech_sur_jours_mois, t_fait_bov_mouvements_mvt_y2012m04.mvt_nb_ugbta_sur_jours_mois,
  • Index Cond: ((t_fait_bov_mouvements_mvt_y2012m04.mvt_id_date = 20,120,430) AND ((t_fait_bov_mouvements_mvt_y2012m04.mvt_id_exploitation_elevage)::integer = t_dim_exploitation_exp.exp_id_exploitation))
11. 0.019 0.047 ↑ 1.0 72 1

Hash (cost=1.72..1.72 rows=72 width=10) (actual time=0.047..0.047 rows=72 loops=1)

  • Output: t_dim_race_rac.rac_cat_raciale_dominante, t_dim_race_rac.rac_id_race
  • Buckets: 1,024 Batches: 1 Memory Usage: 12kB
12. 0.028 0.028 ↑ 1.0 72 1

Seq Scan on entrepot.t_dim_race_rac (cost=0.00..1.72 rows=72 width=10) (actual time=0.017..0.028 rows=72 loops=1)

  • Output: t_dim_race_rac.rac_cat_raciale_dominante, t_dim_race_rac.rac_id_race
13. 0.767 0.767 ↑ 1.0 1 767

Index Scan using pk_t_dim_sexe_sex on entrepot.t_dim_sexe_sex (cost=0.15..1.71 rows=1 width=68) (actual time=0.001..0.001 rows=1 loops=767)

  • Output: t_dim_sexe_sex.sex_id_sexe, t_dim_sexe_sex.sex_code_sexe, t_dim_sexe_sex.sex_sexe, t_dim_sexe_sex.sex_libelle_court, t_dim_sexe_sex.sex_detail, t_dim_sexe_sex.sex_detail_code
  • Index Cond: (t_dim_sexe_sex.sex_id_sexe = (t_fait_bov_mouvements_mvt_y2012m04.mvt_id_sexe)::smallint)
14. 1.534 1.534 ↑ 1.0 1 767

Index Scan using pk_t_dim_age_age on entrepot.t_dim_age_age a (cost=0.29..2.41 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=767)

  • Output: a.age_id_age, a.age_annees, a.age_mois, a.age_jours
  • Index Cond: (a.age_id_age = (t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age)::smallint)
15. 0.767 0.767 ↑ 1.0 1 767

Index Scan using pk_t_dim_age_age on entrepot.t_dim_age_age ae (cost=0.29..2.41 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=767)

  • Output: ae.age_id_age, ae.age_annees, ae.age_mois, ae.age_jours
  • Index Cond: (ae.age_id_age = (t_fait_bov_mouvements_mvt_y2012m04.mvt_id_age_entree)::smallint)
Planning time : 80.243 ms
Execution time : 11.865 ms