explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Okd4 : ecdi 1

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

Hash Left Join (cost=585,340.26..6,696,699,421.67 rows=20,850,075,000 width=633) (actual rows= loops=)

  • Hash Cond: (l.id = cb.loan_id)
2.          

CTE last_confirmed_community_advantage_loan

3. 0.000 0.000 ↓ 0.0

Unique (cost=41.42..41.43 rows=1 width=48) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Sort (cost=41.42..41.42 rows=1 width=48) (actual rows= loops=)

  • Sort Key: carl.loan_id, carr.report_date DESC, carl.id DESC
5. 0.000 0.000 ↓ 0.0

Hash Join (cost=19.76..41.41 rows=1 width=48) (actual rows= loops=)

  • Hash Cond: (carl.community_advantage_report_request_id = carr.id)
6. 0.000 0.000 ↓ 0.0

Seq Scan on community_advantage_report_loans carl (cost=0.00..19.20 rows=920 width=44) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash (cost=19.75..19.75 rows=1 width=8) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Seq Scan on community_advantage_report_requests carr (cost=0.00..19.75 rows=1 width=8) (actual rows= loops=)

  • Filter: ((confirmed_at IS NOT NULL) AND (report_date < '2019-09-30'::date) AND (report_type = 'month_end_report'::community_advantage_report_type))
9.          

CTE before_last_confirmed_community_advantage_loan

10. 0.000 0.000 ↓ 0.0

Subquery Scan on x (cost=41.40..41.44 rows=1 width=36) (actual rows= loops=)

  • Filter: (x.row_number = 2)
11. 0.000 0.000 ↓ 0.0

WindowAgg (cost=41.40..41.43 rows=1 width=56) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Sort (cost=41.40..41.40 rows=1 width=44) (actual rows= loops=)

  • Sort Key: carl_1.loan_id, carr_1.report_date DESC, carl_1.id DESC
13. 0.000 0.000 ↓ 0.0

Hash Join (cost=19.76..41.39 rows=1 width=44) (actual rows= loops=)

  • Hash Cond: (carl_1.community_advantage_report_request_id = carr_1.id)
14. 0.000 0.000 ↓ 0.0

Seq Scan on community_advantage_report_loans carl_1 (cost=0.00..19.20 rows=920 width=44) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash (cost=19.75..19.75 rows=1 width=8) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Seq Scan on community_advantage_report_requests carr_1 (cost=0.00..19.75 rows=1 width=8) (actual rows= loops=)

  • Filter: ((confirmed_at IS NOT NULL) AND (report_date < '2019-09-30'::date) AND (report_type = 'month_end_report'::community_advantage_report_type))
17.          

CTE authorized_sales_percents

18. 0.000 0.000 ↓ 0.0

Seq Scan on loans l_1 (cost=0.00..2,801.74 rows=9,299 width=36) (actual rows= loops=)

19.          

CTE last_reporting_period_info

20. 0.000 0.000 ↓ 0.0

Merge Full Join (cost=99,704.19..99,824.39 rows=5,395 width=40) (actual rows= loops=)

  • Merge Cond: (lccal.loan_id = transactions.loan_id)
21. 0.000 0.000 ↓ 0.0

Sort (cost=0.03..0.04 rows=1 width=40) (actual rows= loops=)

  • Sort Key: lccal.loan_id
22. 0.000 0.000 ↓ 0.0

CTE Scan on last_confirmed_community_advantage_loan lccal (cost=0.00..0.02 rows=1 width=40) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Unique (cost=99,704.16..99,756.91 rows=5,395 width=44) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Sort (cost=99,704.16..99,730.53 rows=10,550 width=44) (actual rows= loops=)

  • Sort Key: transactions.loan_id, transactions.id
25. 0.000 0.000 ↓ 0.0

Hash Semi Join (cost=96,992.70..98,999.16 rows=10,550 width=44) (actual rows= loops=)

  • Hash Cond: (transactions.id = x_1.id)
26. 0.000 0.000 ↓ 0.0

Merge Join (cost=25,922.38..26,134.50 rows=11,087 width=116) (actual rows= loops=)

  • Merge Cond: (transactions.loan_id = asp_1.loan_id)
27. 0.000 0.000 ↓ 0.0

Sort (cost=25,123.46..25,146.37 rows=9,163 width=84) (actual rows= loops=)

  • Sort Key: transactions.loan_id
28. 0.000 0.000 ↓ 0.0

Seq Scan on transactions (cost=0.00..24,520.46 rows=9,163 width=84) (actual rows= loops=)

  • Filter: ((date <= '2019-09-30'::date) AND ((code)::text = 'LD'::text))
29. 0.000 0.000 ↓ 0.0

Sort (cost=798.92..822.16 rows=9,299 width=36) (actual rows= loops=)

  • Sort Key: asp_1.loan_id
30. 0.000 0.000 ↓ 0.0

CTE Scan on authorized_sales_percents asp_1 (cost=0.00..185.98 rows=9,299 width=36) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=66,343.26..66,343.26 rows=288,085 width=4) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Subquery Scan on x_1 (cost=55,746.52..66,343.26 rows=288,085 width=4) (actual rows= loops=)

  • Filter: (((x_1.code)::text !~~ 'RV%'::text) AND ((COALESCE(x_1.next_code, ''::character varying))::text !~~ 'RV%'::text))
33. 0.000 0.000 ↓ 0.0

WindowAgg (cost=55,746.52..61,801.80 rows=302,764 width=43) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Sort (cost=55,746.52..56,503.43 rows=302,764 width=11) (actual rows= loops=)

  • Sort Key: transactions_1.loan_id, transactions_1.id
35. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_1 (cost=0.00..23,006.64 rows=302,764 width=11) (actual rows= loops=)

36.          

CTE total_disbursed_amount

37. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=55,746.52..95,221.72 rows=1 width=12) (actual rows= loops=)

  • Group Key: transactions_2.loan_id
38. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=55,746.52..95,221.70 rows=1 width=12) (actual rows= loops=)

  • Join Filter: (transactions_2.id = x_2.id)
39. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_2 (cost=0.00..25,277.37 rows=1 width=16) (actual rows= loops=)

  • Filter: (((code)::text = ANY ('{LD,JELD}'::text[])) AND (date <= '2019-09-30'::date) AND (loan_id = 9119))
40. 0.000 0.000 ↓ 0.0

Subquery Scan on x_2 (cost=55,746.52..66,343.26 rows=288,085 width=4) (actual rows= loops=)

  • Filter: (((x_2.code)::text !~~ 'RV%'::text) AND ((COALESCE(x_2.next_code, ''::character varying))::text !~~ 'RV%'::text))
41. 0.000 0.000 ↓ 0.0

WindowAgg (cost=55,746.52..61,801.80 rows=302,764 width=43) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Sort (cost=55,746.52..56,503.43 rows=302,764 width=11) (actual rows= loops=)

  • Sort Key: transactions_3.loan_id, transactions_3.id
43. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_3 (cost=0.00..23,006.64 rows=302,764 width=11) (actual rows= loops=)

44.          

CTE total_disbursed_this_period

45. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=95,221.71..95,221.73 rows=1 width=12) (actual rows= loops=)

  • Group Key: transactions_4.loan_id
46. 0.000 0.000 ↓ 0.0

Sort (cost=95,221.71..95,221.71 rows=1 width=12) (actual rows= loops=)

  • Sort Key: transactions_4.loan_id
47. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=55,746.52..95,221.70 rows=1 width=12) (actual rows= loops=)

  • Join Filter: (transactions_4.id = x_3.id)
48. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_4 (cost=0.00..25,277.37 rows=1 width=16) (actual rows= loops=)

  • Filter: (((code)::text = ANY ('{LD,JELD}'::text[])) AND (date >= '2019-09-01'::date) AND (date <= '2019-09-30'::date))
49. 0.000 0.000 ↓ 0.0

Subquery Scan on x_3 (cost=55,746.52..66,343.26 rows=288,085 width=4) (actual rows= loops=)

  • Filter: (((x_3.code)::text !~~ 'RV%'::text) AND ((COALESCE(x_3.next_code, ''::character varying))::text !~~ 'RV%'::text))
50. 0.000 0.000 ↓ 0.0

WindowAgg (cost=55,746.52..61,801.80 rows=302,764 width=43) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Sort (cost=55,746.52..56,503.43 rows=302,764 width=11) (actual rows= loops=)

  • Sort Key: transactions_5.loan_id, transactions_5.id
52. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_5 (cost=0.00..23,006.64 rows=302,764 width=11) (actual rows= loops=)

53.          

CTE current_period_last_payment

54. 0.000 0.000 ↓ 0.0

Unique (cost=100,898.53..100,898.54 rows=1 width=13) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Sort (cost=100,898.53..100,898.54 rows=1 width=13) (actual rows= loops=)

  • Sort Key: transactions_6.loan_id, transactions_6.id DESC
56. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=55,746.52..100,898.52 rows=1 width=13) (actual rows= loops=)

  • Join Filter: (transactions_6.id = x_4.id)
57. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_6 (cost=0.00..30,954.19 rows=1 width=12) (actual rows= loops=)

  • Filter: ((date >= '2019-09-01'::date) AND (date <= '2019-09-30'::date) AND ((code)::text = ANY ('{PM,PMI,PMP,PMM,PRE,PREI,LP,LPI,LPP,LPM,AT,ATI,ATP,ATM,SK,ED,RC}'::text[])))
58. 0.000 0.000 ↓ 0.0

Subquery Scan on x_4 (cost=55,746.52..66,343.26 rows=288,085 width=4) (actual rows= loops=)

  • Filter: (((x_4.code)::text !~~ 'RV%'::text) AND ((COALESCE(x_4.next_code, ''::character varying))::text !~~ 'RV%'::text))
59. 0.000 0.000 ↓ 0.0

WindowAgg (cost=55,746.52..61,801.80 rows=302,764 width=43) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Sort (cost=55,746.52..56,503.43 rows=302,764 width=11) (actual rows= loops=)

  • Sort Key: transactions_7.loan_id, transactions_7.id
61. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_7 (cost=0.00..23,006.64 rows=302,764 width=11) (actual rows= loops=)

62.          

CTE total_paid_this_period

63. 0.000 0.000 ↓ 0.0

Subquery Scan on x_5 (cost=100,898.53..100,898.59 rows=1 width=100) (actual rows= loops=)

64. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=100,898.53..100,898.57 rows=1 width=68) (actual rows= loops=)

  • Group Key: transactions_8.loan_id
65. 0.000 0.000 ↓ 0.0

Sort (cost=100,898.53..100,898.54 rows=1 width=141) (actual rows= loops=)

  • Sort Key: transactions_8.loan_id
66. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=55,746.52..100,898.52 rows=1 width=141) (actual rows= loops=)

  • Join Filter: (transactions_8.id = x_6.id)
67. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_8 (cost=0.00..30,954.19 rows=1 width=145) (actual rows= loops=)

  • Filter: ((date >= '2019-09-01'::date) AND (date <= '2019-09-30'::date) AND ((code)::text = ANY ('{PM,PMI,PMP,PMM,PRE,PREI,LP,LPI,LPP,LPM,AT,ATI,ATP,ATM,SK,ED,RC}'::text[])))
68. 0.000 0.000 ↓ 0.0

Subquery Scan on x_6 (cost=55,746.52..66,343.26 rows=288,085 width=4) (actual rows= loops=)

  • Filter: (((x_6.code)::text !~~ 'RV%'::text) AND ((COALESCE(x_6.next_code, ''::character varying))::text !~~ 'RV%'::text))
69. 0.000 0.000 ↓ 0.0

WindowAgg (cost=55,746.52..61,801.80 rows=302,764 width=43) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Sort (cost=55,746.52..56,503.43 rows=302,764 width=11) (actual rows= loops=)

  • Sort Key: transactions_9.loan_id, transactions_9.id
71. 0.000 0.000 ↓ 0.0

Seq Scan on transactions transactions_9 (cost=0.00..23,006.64 rows=302,764 width=11) (actual rows= loops=)

72.          

CTE dates_when_deliquency_started

73. 0.000 0.000 ↓ 0.0

Unique (cost=24,743.54..24,743.61 rows=26 width=12) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Sort (cost=24,743.54..24,743.61 rows=26 width=12) (actual rows= loops=)

  • Sort Key: t.id DESC
75. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.68..24,742.93 rows=26 width=12) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.43..24,547.42 rows=13 width=8) (actual rows= loops=)

  • Join Filter: (round((((fn_max_delinquency(t.delinquency))::numeric * ('365'::numeric * pf_1.monthly_multiplier)) / '12'::numeric), 2) < '31'::numeric)
77. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.43..16.51 rows=1 width=36) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Index Scan using loans_pkey on loans l_2 (cost=0.29..8.30 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = 9119)
79. 0.000 0.000 ↓ 0.0

Index Scan using payment_frequencies_pkey on payment_frequencies pf_1 (cost=0.15..8.17 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (id = l_2.payment_frequency_id)
80. 0.000 0.000 ↓ 0.0

Seq Scan on transactions t (cost=0.00..24,520.46 rows=38 width=26) (actual rows= loops=)

  • Filter: ((date <= '2019-09-30'::date) AND (loan_id = 9119))
81. 0.000 0.000 ↓ 0.0

Function Scan on fn_next_transaction nt (cost=0.25..15.25 rows=2 width=8) (actual rows= loops=)

  • Filter: ((date <= '2019-09-30'::date) AND (loan_id = 9119))
82.          

CTE calendar_basis_points

83. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.15..59,062.19 rows=268,638 width=36) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Seq Scan on loans l_3 (cost=0.00..476.99 rows=9,299 width=16) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Index Scan using index_community_advantage_fee_basis_points_on_balance_threshold on community_advantage_fee_basis_points cafbp (cost=0.15..6.01 rows=29 width=72) (actual rows= loops=)

  • Index Cond: (((l_3.amount_approved_cents / 100))::numeric > balance_threshold)
  • Filter: ((l_3.community_advantage_approved_date >= starts_on) AND (l_3.community_advantage_approved_date <= ends_on))
86.          

CTE closing_balances

87. 0.000 0.000 ↓ 0.0

Merge Full Join (cost=120.16..250.16 rows=5,000 width=36) (actual rows= loops=)

  • Merge Cond: (lp_1.loan_id = lt_1.loan_id)
88. 0.000 0.000 ↓ 0.0

Sort (cost=60.08..62.58 rows=1,000 width=36) (actual rows= loops=)

  • Sort Key: lp_1.loan_id
89. 0.000 0.000 ↓ 0.0

Function Scan on fn_last_payments lp_1 (cost=0.25..10.25 rows=1,000 width=36) (actual rows= loops=)

90. 0.000 0.000 ↓ 0.0

Sort (cost=60.08..62.58 rows=1,000 width=36) (actual rows= loops=)

  • Sort Key: lt_1.loan_id
91. 0.000 0.000 ↓ 0.0

Function Scan on fn_last_transactions lt_1 (cost=0.25..10.25 rows=1,000 width=36) (actual rows= loops=)

92. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=6,221.92..19,926,288.33 rows=834,003,000 width=557) (actual rows= loops=)

  • Hash Cond: (l.id = cplp.loan_id)
93. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=6,221.89..8,458,747.04 rows=834,003,000 width=556) (actual rows= loops=)

  • Hash Cond: (l.id = cbp.loan_id)
94. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=160.74..7,085.90 rows=621,000 width=524) (actual rows= loops=)

  • Hash Cond: (l.id = lrpi.loan_id)
95. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=39.02..610.43 rows=23,000 width=488) (actual rows= loops=)

  • Hash Cond: (l.id = lp.loan_id)
96. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=26.20..350.36 rows=4,600 width=484) (actual rows= loops=)

  • Hash Cond: (l.id = lt.loan_id)
97. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=13.39..288.10 rows=920 width=388) (actual rows= loops=)

  • Hash Cond: (l.id = ls.loan_id)
98. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..265.40 rows=184 width=320) (actual rows= loops=)

  • Join Filter: (dwds.loan_id = l.id)
99. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..260.68 rows=184 width=316) (actual rows= loops=)

  • Join Filter: (blccal.loan_id = l.id)
100. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.58..256.53 rows=184 width=284) (actual rows= loops=)

101. 0.000 0.000 ↓ 0.0

CTE Scan on authorized_sales_percents asp (cost=0.00..209.23 rows=46 width=36) (actual rows= loops=)

  • Filter: (loan_id = 9119)
102. 0.000 0.000 ↓ 0.0

Materialize (cost=0.58..45.01 rows=4 width=252) (actual rows= loops=)

103. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..44.99 rows=4 width=252) (actual rows= loops=)

  • Join Filter: (l.id = lsm.loan_id)
104. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..24.82 rows=1 width=188) (actual rows= loops=)

  • Join Filter: (tptp.loan_id = l.id)
105. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..24.78 rows=1 width=124) (actual rows= loops=)

  • Join Filter: (tdtp.loan_id = l.id)
106. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.58..24.75 rows=1 width=116) (actual rows= loops=)

  • Join Filter: (tda.loan_id = l.id)
107. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.58..24.71 rows=1 width=108) (actual rows= loops=)

108. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.43..16.51 rows=1 width=108) (actual rows= loops=)

109. 0.000 0.000 ↓ 0.0

Index Scan using loans_pkey on loans l (cost=0.29..8.30 rows=1 width=48) (actual rows= loops=)

  • Index Cond: (id = 9119)
110. 0.000 0.000 ↓ 0.0

Index Scan using payment_frequencies_pkey on payment_frequencies pf (cost=0.15..8.17 rows=1 width=68) (actual rows= loops=)

  • Index Cond: (id = l.payment_frequency_id)
111. 0.000 0.000 ↓ 0.0

Index Scan using calculation_methods_pkey on calculation_methods cm (cost=0.15..8.17 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = l.calculation_method_id)
112. 0.000 0.000 ↓ 0.0

CTE Scan on total_disbursed_amount tda (cost=0.00..0.02 rows=1 width=12) (actual rows= loops=)

  • Filter: (loan_id = 9119)
113. 0.000 0.000 ↓ 0.0

CTE Scan on total_disbursed_this_period tdtp (cost=0.00..0.02 rows=1 width=12) (actual rows= loops=)

  • Filter: (loan_id = 9119)
114. 0.000 0.000 ↓ 0.0

CTE Scan on total_paid_this_period tptp (cost=0.00..0.02 rows=1 width=68) (actual rows= loops=)

  • Filter: (loan_id = 9119)
115. 0.000 0.000 ↓ 0.0

Seq Scan on loan_state_machines lsm (cost=0.00..20.12 rows=4 width=68) (actual rows= loops=)

  • Filter: (loan_id = 9119)
116. 0.000 0.000 ↓ 0.0

CTE Scan on before_last_confirmed_community_advantage_loan blccal (cost=0.00..0.02 rows=1 width=36) (actual rows= loops=)

  • Filter: (loan_id = 9119)
117. 0.000 0.000 ↓ 0.0

CTE Scan on dates_when_deliquency_started dwds (cost=0.00..0.58 rows=1 width=8) (actual rows= loops=)

  • Filter: (loan_id = 9119)
118. 0.000 0.000 ↓ 0.0

Hash (cost=12.75..12.75 rows=5 width=72) (actual rows= loops=)

119. 0.000 0.000 ↓ 0.0

Function Scan on fn_proxy_loans_status ls (cost=0.25..12.75 rows=5 width=72) (actual rows= loops=)

  • Filter: (loan_id = 9119)
120. 0.000 0.000 ↓ 0.0

Hash (cost=12.75..12.75 rows=5 width=100) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Function Scan on fn_last_transactions lt (cost=0.25..12.75 rows=5 width=100) (actual rows= loops=)

  • Filter: (loan_id = 9119)
122. 0.000 0.000 ↓ 0.0

Hash (cost=12.75..12.75 rows=5 width=8) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

Function Scan on fn_last_payments lp (cost=0.25..12.75 rows=5 width=8) (actual rows= loops=)

  • Filter: (loan_id = 9119)
124. 0.000 0.000 ↓ 0.0

Hash (cost=121.39..121.39 rows=27 width=40) (actual rows= loops=)

125. 0.000 0.000 ↓ 0.0

CTE Scan on last_reporting_period_info lrpi (cost=0.00..121.39 rows=27 width=40) (actual rows= loops=)

  • Filter: (loan_id = 9119)
126. 0.000 0.000 ↓ 0.0

Hash (cost=6,044.35..6,044.35 rows=1,343 width=36) (actual rows= loops=)

127. 0.000 0.000 ↓ 0.0

CTE Scan on calendar_basis_points cbp (cost=0.00..6,044.35 rows=1,343 width=36) (actual rows= loops=)

  • Filter: (loan_id = 9119)
128. 0.000 0.000 ↓ 0.0

Hash (cost=0.02..0.02 rows=1 width=5) (actual rows= loops=)

129. 0.000 0.000 ↓ 0.0

CTE Scan on current_period_last_payment cplp (cost=0.00..0.02 rows=1 width=5) (actual rows= loops=)

  • Filter: (loan_id = 9119)
130. 0.000 0.000 ↓ 0.0

Hash (cost=112.50..112.50 rows=25 width=36) (actual rows= loops=)

131. 0.000 0.000 ↓ 0.0

CTE Scan on closing_balances cb (cost=0.00..112.50 rows=25 width=36) (actual rows= loops=)

  • Filter: (loan_id = 9119)