explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JRLQ

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

Hash Left Join (cost=205,432.78..405,253.06 rows=57,384 width=5,342) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.st_id = gnlstentit15_.gnl_st_id)
2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,421.46..402,731.19 rows=57,384 width=5,256) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.prc_chrg_tp_id = prcchrgtpe14_.prc_chrg_tp_id)
3. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,420.39..401,941.09 rows=57,384 width=5,021) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.prc_chrg_tp_dur_uom_id = unitofmsrm13_.unit_of_msrmt_id)
4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,418.90..401,723.33 rows=57,384 width=4,806) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.prc_calc_tp_id = gnltpentit12_.gnl_tp_id)
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,401.67..400,917.07 rows=57,384 width=4,709) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.pymnt_tp_id = gnltpentit11_.gnl_tp_id)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,384.45..400,183.50 rows=57,384 width=4,612) (actual rows= loops=)

  • Hash Cond: (prodofrprc9_.cur_id = curentity10_.cur_id)
7. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,383.40..399,393.42 rows=57,384 width=3,924) (actual rows= loops=)

  • Hash Cond: (prod_prc.prod_ofr_prc_id = prodofrprc9_.prod_ofr_prc_id)
8. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,300.78..398,521.77 rows=57,384 width=3,805) (actual rows= loops=)

  • Hash Cond: (prod_2.st_id = gnlstentit4_.gnl_st_id)
9. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,289.46..397,721.42 rows=57,384 width=3,719) (actual rows= loops=)

  • Hash Cond: (prod_2.tax_geo_plc_id = geoplcenti5_.geo_plc_id)
10. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=205,249.30..396,893.13 rows=57,384 width=3,351) (actual rows= loops=)

  • Hash Cond: (prod_1.prnt_prod_id = prod_2.prod_id)
11. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=106,877.80..202,010.12 rows=57,384 width=1,762) (actual rows= loops=)

  • Hash Cond: (prod_1.end_user_st_id = gnlstentit2_.gnl_st_id)
12. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=106,866.47..201,771.22 rows=57,384 width=1,676) (actual rows= loops=)

  • Hash Cond: (prod_prc.prod_id = prod_1.prod_id)
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=8,494.97..30,251.71 rows=56,579 width=87) (actual rows= loops=)

  • Hash Cond: (prod.prod_id = prod_prc.prod_id)
14. 0.000 0.000 ↓ 0.0

Seq Scan on prod (cost=0.00..13,724.40 rows=353,940 width=18) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash (cost=7,123.74..7,123.74 rows=56,579 width=69) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Hash Join (cost=9.73..7,123.74 rows=56,579 width=69) (actual rows= loops=)

  • Hash Cond: (prod_prc.st_id = gnl_st.gnl_st_id)
17. 0.000 0.000 ↓ 0.0

Seq Scan on prod_prc (cost=0.00..5,684.16 rows=230,416 width=76) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash (cost=8.86..8.86 rows=69 width=5) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st (cost=0.00..8.86 rows=69 width=5) (actual rows= loops=)

  • Filter: ((shrt_code)::text = ANY ('{PNDG_ACTV,ACTV,PNDG_CNCL}'::text[]))
20. 0.000 0.000 ↓ 0.0

Hash (cost=23,070.32..23,070.32 rows=358,974 width=1,589) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Hash Join (cost=837.89..23,070.32 rows=358,974 width=1,589) (actual rows= loops=)

  • Hash Cond: (gnl_st_1.gnl_st_id = gnl_st_lang.gnl_st_id)
22. 0.000 0.000 ↓ 0.0

Hash Join (cost=813.42..19,180.89 rows=119,659 width=1,559) (actual rows= loops=)

  • Hash Cond: (prod_1.prod_ofr_id = prod_ofr.prod_ofr_id)
23. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=796.28..17,518.44 rows=119,659 width=1,551) (actual rows= loops=)

  • Hash Cond: (prod_1.end_user_id = end_user.end_user_id)
24. 0.000 0.000 ↓ 0.0

Hash Join (cost=11.11..16,259.37 rows=119,659 width=1,513) (actual rows= loops=)

  • Hash Cond: (prod_1.st_id = gnl_st_1.gnl_st_id)
25. 0.000 0.000 ↓ 0.0

Seq Scan on prod prod_1 (cost=0.00..13,724.40 rows=353,940 width=1,508) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Hash (cost=9.92..9.92 rows=95 width=5) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnl_st_1 (cost=0.00..9.92 rows=95 width=5) (actual rows= loops=)

  • Filter: ((shrt_code)::text = ANY ('{PHANTOM,SPND,QUOTE,ACTV,PNDG,CNCL}'::text[]))
28. 0.000 0.000 ↓ 0.0

Hash (cost=779.65..779.65 rows=442 width=261) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=14.95..779.65 rows=442 width=261) (actual rows= loops=)

  • Hash Cond: (party.party_id = end_user.party_id)
30. 0.000 0.000 ↓ 0.0

Seq Scan on party (cost=0.00..605.56 rows=24,756 width=260) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=9.42..9.42 rows=442 width=14) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on end_user (cost=0.00..9.42 rows=442 width=14) (actual rows= loops=)

33. 0.000 0.000 ↓ 0.0

Hash (cost=15.01..15.01 rows=170 width=13) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Merge Join (cost=12.15..15.01 rows=170 width=13) (actual rows= loops=)

  • Merge Cond: (gnl_tp.gnl_tp_id = prod_ofr.prod_ofr_tp_id)
35. 0.000 0.000 ↓ 0.0

Index Scan using gnl_tp_pkey on gnl_tp (cost=0.15..42.58 rows=410 width=13) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Sort (cost=12.00..12.42 rows=170 width=10) (actual rows= loops=)

  • Sort Key: prod_ofr.prod_ofr_tp_id
37. 0.000 0.000 ↓ 0.0

Seq Scan on prod_ofr (cost=0.00..5.70 rows=170 width=10) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Hash (cost=15.32..15.32 rows=732 width=20) (actual rows= loops=)

39. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st_lang (cost=0.00..15.32 rows=732 width=20) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Hash (cost=7.81..7.81 rows=281 width=86) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnlstentit2_ (cost=0.00..7.81 rows=281 width=86) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Hash (cost=23,070.32..23,070.32 rows=358,974 width=1,589) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

Hash Join (cost=837.89..23,070.32 rows=358,974 width=1,589) (actual rows= loops=)

  • Hash Cond: (gnl_st_2.gnl_st_id = gnl_st_lang_1.gnl_st_id)
44. 0.000 0.000 ↓ 0.0

Hash Join (cost=813.42..19,180.89 rows=119,659 width=1,559) (actual rows= loops=)

  • Hash Cond: (prod_2.prod_ofr_id = prod_ofr_1.prod_ofr_id)
45. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=796.28..17,518.44 rows=119,659 width=1,551) (actual rows= loops=)

  • Hash Cond: (prod_2.end_user_id = end_user_1.end_user_id)
46. 0.000 0.000 ↓ 0.0

Hash Join (cost=11.11..16,259.37 rows=119,659 width=1,513) (actual rows= loops=)

  • Hash Cond: (prod_2.st_id = gnl_st_2.gnl_st_id)
47. 0.000 0.000 ↓ 0.0

Seq Scan on prod prod_2 (cost=0.00..13,724.40 rows=353,940 width=1,508) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Hash (cost=9.92..9.92 rows=95 width=5) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnl_st_2 (cost=0.00..9.92 rows=95 width=5) (actual rows= loops=)

  • Filter: ((shrt_code)::text = ANY ('{PHANTOM,SPND,QUOTE,ACTV,PNDG,CNCL}'::text[]))
50. 0.000 0.000 ↓ 0.0

Hash (cost=779.65..779.65 rows=442 width=261) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=14.95..779.65 rows=442 width=261) (actual rows= loops=)

  • Hash Cond: (party_1.party_id = end_user_1.party_id)
52. 0.000 0.000 ↓ 0.0

Seq Scan on party party_1 (cost=0.00..605.56 rows=24,756 width=260) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Hash (cost=9.42..9.42 rows=442 width=14) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Seq Scan on end_user end_user_1 (cost=0.00..9.42 rows=442 width=14) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Hash (cost=15.01..15.01 rows=170 width=13) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Merge Join (cost=12.15..15.01 rows=170 width=13) (actual rows= loops=)

  • Merge Cond: (gnl_tp_1.gnl_tp_id = prod_ofr_1.prod_ofr_tp_id)
57. 0.000 0.000 ↓ 0.0

Index Scan using gnl_tp_pkey on gnl_tp gnl_tp_1 (cost=0.15..42.58 rows=410 width=13) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Sort (cost=12.00..12.42 rows=170 width=10) (actual rows= loops=)

  • Sort Key: prod_ofr_1.prod_ofr_tp_id
59. 0.000 0.000 ↓ 0.0

Seq Scan on prod_ofr prod_ofr_1 (cost=0.00..5.70 rows=170 width=10) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Hash (cost=15.32..15.32 rows=732 width=20) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st_lang gnl_st_lang_1 (cost=0.00..15.32 rows=732 width=20) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Hash (cost=40.12..40.12 rows=3 width=368) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=25.43..40.12 rows=3 width=368) (actual rows= loops=)

  • Hash Cond: (gnltpentit7_.gnl_tp_id = geoplcenti5_.geo_plc_tp_id)
64. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_tp gnltpentit7_ (cost=0.00..12.10 rows=410 width=97) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Hash (cost=25.39..25.39 rows=3 width=271) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=10.70..25.39 rows=3 width=271) (actual rows= loops=)

  • Hash Cond: (gnltpentit6_.gnl_tp_id = geoplcenti5_.geo_plc_hierc_tp_id)
67. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_tp gnltpentit6_ (cost=0.00..12.10 rows=410 width=97) (actual rows= loops=)

68. 0.000 0.000 ↓ 0.0

Hash (cost=10.66..10.66 rows=3 width=174) (actual rows= loops=)

69. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=1.07..10.66 rows=3 width=174) (actual rows= loops=)

  • Hash Cond: (gnlstentit8_.gnl_st_id = geoplcenti5_.st_id)
70. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnlstentit8_ (cost=0.00..7.81 rows=281 width=86) (actual rows= loops=)

71. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=88) (actual rows= loops=)

72. 0.000 0.000 ↓ 0.0

Seq Scan on geo_plc geoplcenti5_ (cost=0.00..1.03 rows=3 width=88) (actual rows= loops=)

73. 0.000 0.000 ↓ 0.0

Hash (cost=7.81..7.81 rows=281 width=86) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnlstentit4_ (cost=0.00..7.81 rows=281 width=86) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

Hash (cost=55.61..55.61 rows=2,161 width=119) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Seq Scan on prod_ofr_prc prodofrprc9_ (cost=0.00..55.61 rows=2,161 width=119) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

Hash (cost=1.02..1.02 rows=2 width=688) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Seq Scan on cur curentity10_ (cost=0.00..1.02 rows=2 width=688) (actual rows= loops=)

79. 0.000 0.000 ↓ 0.0

Hash (cost=12.10..12.10 rows=410 width=97) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_tp gnltpentit11_ (cost=0.00..12.10 rows=410 width=97) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Hash (cost=12.10..12.10 rows=410 width=97) (actual rows= loops=)

82. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_tp gnltpentit12_ (cost=0.00..12.10 rows=410 width=97) (actual rows= loops=)

83. 0.000 0.000 ↓ 0.0

Hash (cost=1.22..1.22 rows=22 width=215) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Seq Scan on unit_of_msrmt unitofmsrm13_ (cost=0.00..1.22 rows=22 width=215) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Hash (cost=1.03..1.03 rows=3 width=235) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Seq Scan on prc_chrg_tp prcchrgtpe14_ (cost=0.00..1.03 rows=3 width=235) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Hash (cost=7.81..7.81 rows=281 width=86) (actual rows= loops=)

88. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_st gnlstentit15_ (cost=0.00..7.81 rows=281 width=86) (actual rows= loops=)