explain.depesz.com

PostgreSQL's explain analyze made readable

Result: iplz

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

Sort (cost=52,369.67..52,369.70 rows=11 width=366) (actual rows= loops=)

  • Sort Key: bov.danais, bov.copaip, bov.nunati
2. 0.000 0.000 ↓ 0.0

HashAggregate (cost=52,369.37..52,369.48 rows=11 width=366) (actual rows= loops=)

  • Group Key: bov.copaip, bov.nunati, bov.nobovi, bov.sexbov, ipder.copach, ipder.cheipg, bov.indite, (CASE WHEN ((bo.cofgmu IS NOT NULL) AND (bo.cofgmu = '2'::bpchar)) THEN 'O'::text ELSE 'N'::text END), bov.danais, bov.ponais, bov.toupoi, fgder.dafige, fgavder.dafige, bof_mere.ravela, bov.conais, (CASE WHEN (bovige_anim.nunati IS NOT NULL) THEN bovige_anim.copape ELSE bov.copapi END), (CASE WHEN (bovige_anim.nunati IS NOT NULL) THEN bovige_anim.nupere ELSE bov.nupeip END), (CASE WHEN (bovige_anim.nunati IS NOT NULL) THEN bov_pere1.nobovi ELSE bov_pere2.nobovi END), boapco.nocomp, bop120.poagty, bop210.poagty
3. 0.000 0.000 ↓ 0.0

Append (cost=25,852.53..52,368.79 rows=11 width=366) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=25,852.53..26,445.09 rows=10 width=213) (actual rows= loops=)

5.          

Initplan (for Nested Loop Left Join)

6. 0.000 0.000 ↓ 0.0

Finalize Aggregate (cost=25,845.86..25,845.87 rows=1 width=4) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Gather (cost=25,845.55..25,845.86 rows=3 width=4) (actual rows= loops=)

  • Workers Planned: 3
8. 0.000 0.000 ↓ 0.0

Partial Aggregate (cost=24,845.55..24,845.56 rows=1 width=4) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on boapco boapco_2 (cost=0.00..23,854.90 rows=396,259 width=4) (actual rows= loops=)

  • Filter: (cosu = '0'::bpchar)
10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6.09..550.85 rows=10 width=140) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.52..502.50 rows=10 width=136) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.95..474.40 rows=10 width=150) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.39..446.38 rows=10 width=139) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.82..423.11 rows=10 width=130) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.25..395.21 rows=10 width=144) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.69..367.21 rows=10 width=97) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.26..340.54 rows=10 width=95) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..101.62 rows=10 width=79) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.13..58.46 rows=10 width=77) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Index Scan using bovide_fk3 on bovide bov (cost=0.57..15.30 rows=10 width=75) (actual rows= loops=)

  • Index Cond: ((numeip = '5694030194 '::bpchar) AND (copami = 'FR'::bpchar))
  • Filter: (((indite IS NULL) OR (indite <> 'O'::bpchar)) AND (cosu = '0'::bpchar))
21. 0.000 0.000 ↓ 0.0

Index Scan using bopoat_pk on bopoat bop120 (cost=0.56..4.28 rows=4 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (nunati = bov.nunati) AND (copoat = '04'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu))
22. 0.000 0.000 ↓ 0.0

Index Scan using bopoat_pk on bopoat bop210 (cost=0.56..4.28 rows=4 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (nunati = bov.nunati) AND (copoat = '07'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu))
23. 0.000 0.000 ↓ 0.0

Index Scan using ipgmou_pkey on ipgmou ipder (cost=0.57..23.88 rows=1 width=34) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu) AND (daench = (SubPlan 1)))
24.          

SubPlan (for Index Scan)

25. 0.000 0.000 ↓ 0.0

Aggregate (cost=21.07..21.08 rows=1 width=4) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Result (cost=0.57..21.07 rows=1 width=4) (actual rows= loops=)

  • One-Time Filter: ((ipder.dasort IS NULL) OR (ipder.dasort < CURRENT_DATE))
27. 0.000 0.000 ↓ 0.0

Index Scan using ipgmou_pkey on ipgmou ipmax (cost=0.57..21.07 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = 'FR'::bpchar) AND (nunati = '5694030194 '::bpchar))
  • Filter: (cosu = '*'::bpchar)
28. 0.000 0.000 ↓ 0.0

Index Scan using boapco_pk on boapco (cost=0.43..2.66 rows=1 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (nunati = bov.nunati) AND (daapco = $3) AND (tyapco = 'A'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu))
29. 0.000 0.000 ↓ 0.0

Index Scan using bovige_pk on bovige bovige_anim (cost=0.56..2.79 rows=1 width=50) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (nunati = bov.nunati))
  • Filter: ((cosu = '0'::bpchar) AND (bov.cosu = cosu))
30. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige bo (cost=0.57..2.79 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = bovige_anim.copame) AND (nunati = bovige_anim.numere) AND (dafige = bov.danais))
31. 0.000 0.000 ↓ 0.0

Index Scan using bovide_pkey on bovide bov_pere1 (cost=0.57..2.32 rows=1 width=29) (actual rows= loops=)

  • Index Cond: ((copaip = bovige_anim.copape) AND (nunati = bovige_anim.nupere))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bovige_anim.cosu))
32. 0.000 0.000 ↓ 0.0

Index Scan using bovide_pkey on bovide bov_pere2 (cost=0.57..2.79 rows=1 width=29) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copapi) AND (nunati = bov.nupeip))
  • Filter: ((cosu = '0'::bpchar) AND (bov.cosu = cosu))
33. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige bof_mere (cost=0.57..2.80 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copami) AND (copaip = 'FR'::bpchar) AND (nunati = bov.numeip) AND (nunati = '5694030194 '::bpchar) AND (dafige = bov.danais))
  • Filter: ((cosu = '0'::bpchar) AND (bov.cosu = cosu))
34. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige fgder (cost=0.57..4.82 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu) AND (dafige = (SubPlan 4)))
35.          

SubPlan (for Index Scan)

36. 0.000 0.000 ↓ 0.0

Result (cost=2.01..2.02 rows=1 width=4) (actual rows= loops=)

37.          

Initplan (for Result)

38. 0.000 0.000 ↓ 0.0

Limit (cost=0.57..2.01 rows=1 width=4) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Index Scan Backward using bofige_pkey on bofige bfder (cost=0.57..6.35 rows=4 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = fgder.copaip) AND (nunati = fgder.nunati) AND (dafige IS NOT NULL))
  • Filter: (cosu = fgder.cosu)
40. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige fgavder (cost=0.57..4.82 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = bov.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov.cosu) AND (dafige = (SubPlan 6)))
41.          

SubPlan (for Index Scan)

42. 0.000 0.000 ↓ 0.0

Result (cost=2.01..2.02 rows=1 width=4) (actual rows= loops=)

43.          

Initplan (for Result)

44. 0.000 0.000 ↓ 0.0

Limit (cost=0.57..2.01 rows=1 width=4) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Index Scan Backward using bofige_pkey on bofige bfavder (cost=0.57..6.35 rows=4 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = fgavder.copaip) AND (nunati = fgavder.nunati) AND (dafige IS NOT NULL))
  • Filter: (cosu = fgavder.cosu)
46. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=25,852.53..25,923.54 rows=1 width=213) (actual rows= loops=)

47.          

Initplan (for Nested Loop Left Join)

48. 0.000 0.000 ↓ 0.0

Finalize Aggregate (cost=25,845.86..25,845.87 rows=1 width=4) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Gather (cost=25,845.55..25,845.86 rows=3 width=4) (actual rows= loops=)

  • Workers Planned: 3
50. 0.000 0.000 ↓ 0.0

Partial Aggregate (cost=24,845.55..24,845.56 rows=1 width=4) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Parallel Seq Scan on boapco boapco_3 (cost=0.00..23,854.90 rows=396,259 width=4) (actual rows= loops=)

  • Filter: (cosu = '0'::bpchar)
52. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6.09..73.15 rows=1 width=130) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=5.52..68.63 rows=1 width=126) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.95..66.14 rows=1 width=140) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=4.38..63.61 rows=1 width=129) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.82..60.81 rows=1 width=117) (actual rows= loops=)

  • Join Filter: ((bovige_anim_1.copame = bo_1.copaip) AND (bovige_anim_1.numere = bo_1.nunati))
57. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.25..58.32 rows=1 width=131) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.82..56.14 rows=1 width=129) (actual rows= loops=)

59. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.25..32.44 rows=1 width=113) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.69..28.91 rows=1 width=111) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.13..25.38 rows=1 width=109) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Index Scan using bovige_fk1 on bovige bovige_anim_1 (cost=0.56..5.83 rows=7 width=50) (actual rows= loops=)

  • Index Cond: ((copame = 'FR'::bpchar) AND (numere = '5694030194 '::bpchar))
  • Filter: (cosu = '0'::bpchar)
63. 0.000 0.000 ↓ 0.0

Index Scan using bovide_pkey on bovide bov_1 (cost=0.57..2.79 rows=1 width=75) (actual rows= loops=)

  • Index Cond: ((copaip = bovige_anim_1.copaip) AND (nunati = bovige_anim_1.nunati))
  • Filter: ((cosu = '0'::bpchar) AND (indite = 'O'::bpchar))
64. 0.000 0.000 ↓ 0.0

Index Scan using bopoat_pk on bopoat bop120_1 (cost=0.56..3.49 rows=4 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (nunati = bov_1.nunati) AND (copoat = '04'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu))
65. 0.000 0.000 ↓ 0.0

Index Scan using bopoat_pk on bopoat bop210_1 (cost=0.56..3.49 rows=4 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (nunati = bov_1.nunati) AND (copoat = '07'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu))
66. 0.000 0.000 ↓ 0.0

Index Scan using ipgmou_pkey on ipgmou ipder_1 (cost=0.57..23.69 rows=1 width=34) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov_1.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu) AND (daench = (SubPlan 7)))
67.          

SubPlan (for Index Scan)

68. 0.000 0.000 ↓ 0.0

Aggregate (cost=21.07..21.08 rows=1 width=4) (actual rows= loops=)

69. 0.000 0.000 ↓ 0.0

Result (cost=0.57..21.07 rows=1 width=4) (actual rows= loops=)

  • One-Time Filter: ((ipder_1.dasort IS NULL) OR (ipder_1.dasort < CURRENT_DATE))
70. 0.000 0.000 ↓ 0.0

Index Scan using ipgmou_pkey on ipgmou ipmax_1 (cost=0.57..21.07 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = 'FR'::bpchar) AND (nunati = '5694030194 '::bpchar))
  • Filter: (cosu = '*'::bpchar)
71. 0.000 0.000 ↓ 0.0

Index Scan using boapco_pk on boapco boapco_1 (cost=0.43..2.17 rows=1 width=20) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (nunati = bov_1.nunati) AND (daapco = $15) AND (tyapco = 'A'::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu))
72. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige bo_1 (cost=0.57..2.47 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = 'FR'::bpchar) AND (nunati = '5694030194 '::bpchar) AND (dafige = bov_1.danais))
73. 0.000 0.000 ↓ 0.0

Index Scan using bovide_pkey on bovide bov_pere1_1 (cost=0.57..2.79 rows=1 width=29) (actual rows= loops=)

  • Index Cond: ((copaip = bovige_anim_1.copape) AND (nunati = bovige_anim_1.nupere))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bovige_anim_1.cosu))
74. 0.000 0.000 ↓ 0.0

Index Scan using bovide_pkey on bovide bov_pere2_1 (cost=0.57..2.53 rows=1 width=29) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copapi) AND (nunati = bov_1.nupeip))
  • Filter: ((cosu = '0'::bpchar) AND (bov_1.cosu = cosu))
75. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige bof_mere_1 (cost=0.57..2.48 rows=1 width=24) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copami) AND (nunati = bov_1.numeip) AND (dafige = bov_1.danais))
  • Filter: ((cosu = '0'::bpchar) AND (bov_1.cosu = cosu))
76. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige fgder_1 (cost=0.57..4.50 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov_1.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu) AND (dafige = (SubPlan 10)))
77.          

SubPlan (for Index Scan)

78. 0.000 0.000 ↓ 0.0

Result (cost=2.01..2.02 rows=1 width=4) (actual rows= loops=)

79.          

Initplan (for Result)

80. 0.000 0.000 ↓ 0.0

Limit (cost=0.57..2.01 rows=1 width=4) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Index Scan Backward using bofige_pkey on bofige bfder_1 (cost=0.57..6.35 rows=4 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = fgder_1.copaip) AND (nunati = fgder_1.nunati) AND (dafige IS NOT NULL))
  • Filter: (cosu = fgder_1.cosu)
82. 0.000 0.000 ↓ 0.0

Index Scan using bofige_pkey on bofige fgavder_1 (cost=0.57..4.50 rows=1 width=22) (actual rows= loops=)

  • Index Cond: ((copaip = bov_1.copaip) AND (copaip = 'FR'::bpchar) AND (nunati = bov_1.nunati) AND (nunati = '5694030194 '::bpchar))
  • Filter: ((cosu = '0'::bpchar) AND (cosu = bov_1.cosu) AND (dafige = (SubPlan 12)))
83.          

SubPlan (for Index Scan)

84. 0.000 0.000 ↓ 0.0

Result (cost=2.01..2.02 rows=1 width=4) (actual rows= loops=)

85.          

Initplan (for Result)

86. 0.000 0.000 ↓ 0.0

Limit (cost=0.57..2.01 rows=1 width=4) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Index Scan Backward using bofige_pkey on bofige bfavder_1 (cost=0.57..6.35 rows=4 width=4) (actual rows= loops=)

  • Index Cond: ((copaip = fgavder_1.copaip) AND (nunati = fgavder_1.nunati) AND (dafige IS NOT NULL))
  • Filter: (cosu = fgavder_1.cosu)