explain.depesz.com

PostgreSQL's explain analyze made readable

Result: aw4A : Optimization for: Optimization for: Optimization for: plan #4Jl6; plan #V9Hj; plan #VZCg

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 2,589.708 11,979.832 ↓ 84.3 2,040,672 1

WindowAgg (cost=17,348.35..18,437.08 rows=24,194 width=210) (actual time=8,273.812..11,979.832 rows=2,040,672 loops=1)

  • Output: row_number() OVER (?), ek_customer.customer_number, ek_customer.customer_status, ek_debt."For_Date", COALESCE(ek_debt.amount_0_days, ek_debt."Amount_30_Days", ek_debt."Amount_60_Days", ek_debt."Amount_90_Days", ek_debt."Amount_120_Days"), ek_customer.landing_page, CASE WHEN ((ek_customer.landing_page = 0) OR (ek_customer.landing_page IS NULL)) THEN 'Website'::character varying ELSE nest_landing_page.a_b_test END, ek_customer."Gender", ek_customer."External_Payment_Reference", CASE WHEN ((ek_customer."Credit_Status")::text = '01'::text) THEN 'Unknown'::text WHEN ((ek_customer."Credit_Status")::text = '02'::text) THEN 'Pending'::text WHEN ((ek_customer."Credit_Status")::text = '03'::text) THEN 'Approved'::text WHEN ((ek_customer."Credit_Status")::text = '04'::text) THEN 'Declined'::text WHEN ((ek_customer."Credit_Status")::text = '05'::text) THEN 'Manually Approved'::text WHEN ((ek_customer."Credit_Status")::text = '06'::text) THEN 'System Refer'::text WHEN ((ek_customer."Credit_Status")::text = '07'::text) THEN 'Manually declined'::text WHEN ((ek_customer."Credit_Status")::text = '08'::text) THEN 'Pricing Refer'::text WHEN ((ek_customer."Credit_Status")::text = '09'::text) THEN 'Declined Switcher'::text ELSE NULL::text END, ek_customer.sales_person, res_users.login, ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance
2. 4,067.841 9,390.124 ↓ 84.3 2,040,672 1

Sort (cost=17,348.35..17,408.84 rows=24,194 width=160) (actual time=8,273.794..9,390.124 rows=2,040,672 loops=1)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_debt."For_Date", ek_debt.amount_0_days, ek_debt."Amount_30_Days", ek_debt."Amount_60_Days", ek_debt."Amount_90_Days", ek_debt."Amount_120_Days", ek_customer.landing_page, nest_landing_page.a_b_test, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, res_users.login, ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance
  • Sort Key: ek_customer.customer_number, ek_customer.customer_status DESC
  • Sort Method: external merge Disk: 222624kB
3. 1,937.522 5,322.283 ↓ 84.3 2,040,672 1

Gather (cost=9,008.35..15,586.75 rows=24,194 width=160) (actual time=109.077..5,322.283 rows=2,040,672 loops=1)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_debt."For_Date", ek_debt.amount_0_days, ek_debt."Amount_30_Days", ek_debt."Amount_60_Days", ek_debt."Amount_90_Days", ek_debt."Amount_120_Days", ek_customer.landing_page, nest_landing_page.a_b_test, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, res_users.login, ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance
  • Workers Planned: 2
  • Workers Launched: 2
4. 741.942 3,384.761 ↓ 67.5 680,224 3

Hash Left Join (cost=8,008.35..12,167.35 rows=10,081 width=160) (actual time=99.782..3,384.761 rows=680,224 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_debt."For_Date", ek_debt.amount_0_days, ek_debt."Amount_30_Days", ek_debt."Amount_60_Days", ek_debt."Amount_90_Days", ek_debt."Amount_120_Days", ek_customer.landing_page, nest_landing_page.a_b_test, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, res_users.login, ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance
  • Inner Unique: true
  • Hash Cond: (ek_customer.sales_person = res_users.id)
  • Worker 0: actual time=95.308..2996.870 rows=484081 loops=1
  • Worker 1: actual time=97.290..4067.619 rows=830024 loops=1
5. 2,504.007 2,642.609 ↓ 67.5 680,224 3

Nested Loop (cost=7,998.12..12,130.62 rows=10,081 width=153) (actual time=99.544..2,642.609 rows=680,224 loops=3)

  • Output: ek_debt."For_Date", ek_debt.amount_0_days, ek_debt."Amount_30_Days", ek_debt."Amount_60_Days", ek_debt."Amount_90_Days", ek_debt."Amount_120_Days", ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance, nest_landing_page.a_b_test
  • Join Filter: (ek_customer.id = ek_debt."id_EK_Customer")
  • Worker 0: actual time=95.063..2421.909 rows=484081 loops=1
  • Worker 1: actual time=97.057..3110.333 rows=830024 loops=1
6. 16.114 137.595 ↓ 1.6 1,689 3

Nested Loop (cost=7,997.70..9,837.65 rows=1,058 width=140) (actual time=98.992..137.595 rows=1,689 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, ek_billing_status."id_EK_Customer", ek_icp."Physical_Address_Region", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance, nest_landing_page.a_b_test
  • Inner Unique: true
  • Worker 0: actual time=94.668..128.671 rows=1251 loops=1
  • Worker 1: actual time=96.245..140.824 rows=1948 loops=1
7. 15.867 121.474 ↓ 1.6 1,689 3

Nested Loop (cost=7,997.28..9,279.31 rows=1,058 width=135) (actual time=98.950..121.474 rows=1,689 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, ek_billing_status."id_EK_Customer", ek_billing_status."id_EK_ICP", amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance, nest_landing_page.a_b_test
  • Worker 0: actual time=94.620..115.136 rows=1251 loops=1
  • Worker 1: actual time=96.196..122.472 rows=1948 loops=1
8. 2.020 105.596 ↓ 1.6 1,079 3

Merge Left Join (cost=7,996.86..8,011.84 rows=687 width=127) (actual time=98.887..105.596 rows=1,079 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, latest_account_balance.account_balance, nest_landing_page.a_b_test
  • Merge Cond: (ek_customer.id = latest_account_balance."id_EK_Customer")
  • Worker 0: actual time=94.547..100.963 rows=869 loops=1
  • Worker 1: actual time=96.122..103.734 rows=1295 loops=1
9. 1.099 100.360 ↑ 1.1 622 3

Merge Left Join (cost=7,432.63..7,443.19 rows=687 width=122) (actual time=96.343..100.360 rows=622 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, nest_landing_page.a_b_test
  • Merge Cond: (ek_customer.id = amount_from_debt_agency."id_EK_Customer")
  • Worker 0: actual time=91.744..95.658 rows=490 loops=1
  • Worker 1: actual time=93.977..98.340 rows=694 loops=1
10. 1.648 75.220 ↑ 1.2 560 3

Merge Left Join (cost=6,865.73..6,871.87 rows=687 width=82) (actual time=72.560..75.220 rows=560 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, nest_landing_page.a_b_test
  • Merge Cond: (ek_customer.id = amount_sent_to_debt_agency."id_EK_Customer")
  • Worker 0: actual time=68.059..70.662 rows=442 loops=1
  • Worker 1: actual time=70.045..72.921 rows=615 loops=1
11. 1.081 33.739 ↑ 1.3 549 3

Sort (cost=6,300.17..6,301.88 rows=687 width=68) (actual time=33.337..33.739 rows=549 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, nest_landing_page.a_b_test
  • Sort Key: ek_customer.id
  • Sort Method: quicksort Memory: 76kB
  • Worker 0: actual time=28.601..28.946 rows=429 loops=1
  • Worker 1: actual time=31.150..31.598 rows=603 loops=1
12. 0.751 32.658 ↑ 1.3 549 3

Hash Left Join (cost=3.46..6,267.79 rows=687 width=68) (actual time=0.199..32.658 rows=549 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id, nest_landing_page.a_b_test
  • Inner Unique: true
  • Hash Cond: (ek_customer.landing_page = nest_landing_page.id)
  • Worker 0: actual time=0.187..27.998 rows=429 loops=1
  • Worker 1: actual time=0.241..30.544 rows=603 loops=1
13. 31.769 31.769 ↑ 1.3 549 3

Parallel Seq Scan on public.ek_customer (cost=0.00..6,262.42 rows=687 width=34) (actual time=0.036..31.769 rows=549 loops=3)

  • Output: ek_customer.customer_number, ek_customer.customer_status, ek_customer.landing_page, ek_customer."Gender", ek_customer."External_Payment_Reference", ek_customer."Credit_Status", ek_customer.sales_person, ek_customer.id
  • Filter: ((ek_customer.customer_status)::text <> 'OK'::text)
  • Rows Removed by Filter: 32823
  • Worker 0: actual time=0.019..27.195 rows=429 loops=1
  • Worker 1: actual time=0.074..29.688 rows=603 loops=1
14. 0.053 0.138 ↑ 1.0 65 3

Hash (cost=2.65..2.65 rows=65 width=38) (actual time=0.138..0.138 rows=65 loops=3)

  • Output: nest_landing_page.a_b_test, nest_landing_page.id
  • Buckets: 1024 Batches: 1 Memory Usage: 13kB
  • Worker 0: actual time=0.138..0.139 rows=65 loops=1
  • Worker 1: actual time=0.138..0.138 rows=65 loops=1
15. 0.085 0.085 ↑ 1.0 65 3

Seq Scan on public.nest_landing_page (cost=0.00..2.65 rows=65 width=38) (actual time=0.015..0.085 rows=65 loops=3)

  • Output: nest_landing_page.a_b_test, nest_landing_page.id
  • Worker 0: actual time=0.019..0.085 rows=65 loops=1
  • Worker 1: actual time=0.018..0.086 rows=65 loops=1
16. 1.449 39.833 ↓ 1.6 869 3

Sort (cost=565.56..566.90 rows=533 width=18) (actual time=39.211..39.833 rows=869 loops=3)

  • Output: amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_sent_to_debt_agency."id_EK_Customer
  • Sort Key: amount_sent_to_debt_agency."id_EK_Customer
  • Sort Method: quicksort Memory: 92kB
  • Worker 0: actual time=39.441..40.094 rows=869 loops=1
  • Worker 1: actual time=38.884..39.544 rows=869 loops=1
17. 0.963 38.384 ↓ 1.6 869 3

Subquery Scan on amount_sent_to_debt_agency (cost=530.76..541.42 rows=533 width=18) (actual time=36.741..38.384 rows=869 loops=3)

  • Output: amount_sent_to_debt_agency.charge, amount_sent_to_debt_agency.transaction_date, amount_sent_to_debt_agency."id_EK_Customer
  • Worker 0: actual time=36.762..38.538 rows=869 loops=1
  • Worker 1: actual time=36.741..38.166 rows=869 loops=1
18. 2.037 37.421 ↓ 1.6 869 3

HashAggregate (cost=530.76..536.09 rows=533 width=21) (actual time=36.739..37.421 rows=869 loops=3)

  • Output: max(ek_account.transaction_date), ek_account.transaction_type, ek_account."id_EK_Customer", ek_account.charge
  • Group Key: ek_account.transaction_type, ek_account."id_EK_Customer", ek_account.charge
  • Worker 0: actual time=36.759..37.516 rows=869 loops=1
  • Worker 1: actual time=36.738..37.306 rows=869 loops=1
19. 35.384 35.384 ↓ 1.6 870 3

Index Scan using idx_ek_account_transaction_type on public.ek_account (cost=0.56..525.43 rows=533 width=21) (actual time=0.979..35.384 rows=870 loops=3)

  • Output: ek_account.id, ek_account.create_uid, ek_account.create_date, ek_account.write_date, ek_account.write_uid, ek_account.outstanding_debt, ek_account.due_date, ek_account.account_balance, ek_account.payment_date, ek_account."id_EK_Customer", ek_account.transaction_type, ek_account.charge, ek_account.payment_id, ek_account."id_EK_Invoice", ek_account."id_EK_Customer_Event", ek_account.payment, ek_account.date, ek_account.transaction_date, ek_account.payment_errorcode, ek_account.payment_method, ek_account.invoiced, ek_account.outstanding_balance, ek_account.payment_schedule_id, ek_account.transaction_id
  • Index Cond: ((ek_account.transaction_type)::text = '28'::text)
  • Worker 0: actual time=1.009..35.214 rows=870 loops=1
  • Worker 1: actual time=0.960..35.649 rows=870 loops=1
20. 0.603 24.041 ↑ 1.5 357 3

Sort (cost=566.90..568.23 rows=533 width=44) (actual time=23.776..24.041 rows=357 loops=3)

  • Output: amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, amount_from_debt_agency."id_EK_Customer
  • Sort Key: amount_from_debt_agency."id_EK_Customer
  • Sort Method: quicksort Memory: 52kB
  • Worker 0: actual time=23.678..23.961 rows=353 loops=1
  • Worker 1: actual time=23.926..24.199 rows=356 loops=1
21. 0.397 23.438 ↑ 1.5 351 3

Subquery Scan on amount_from_debt_agency (cost=530.76..542.76 rows=533 width=44) (actual time=22.722..23.438 rows=351 loops=3)

  • Output: amount_from_debt_agency.charge, amount_from_debt_agency.transaction_date, amount_from_debt_agency."id_EK_Customer
  • Worker 0: actual time=22.523..23.312 rows=351 loops=1
  • Worker 1: actual time=23.023..23.626 rows=351 loops=1
22. 1.140 23.041 ↑ 1.5 351 3

HashAggregate (cost=530.76..537.43 rows=533 width=53) (actual time=22.720..23.041 rows=351 loops=3)

  • Output: max(ek_account_1.transaction_date), ek_account_1.transaction_type, ek_account_1."id_EK_Customer", abs(ek_account_1.charge), ek_account_1.charge
  • Group Key: ek_account_1.transaction_type, ek_account_1."id_EK_Customer", ek_account_1.charge
  • Worker 0: actual time=22.521..22.882 rows=351 loops=1
  • Worker 1: actual time=23.021..23.280 rows=351 loops=1
23. 21.901 21.901 ↑ 1.1 496 3

Index Scan using idx_ek_account_transaction_type on public.ek_account ek_account_1 (cost=0.56..525.43 rows=533 width=21) (actual time=0.153..21.901 rows=496 loops=3)

  • Output: ek_account_1.id, ek_account_1.create_uid, ek_account_1.create_date, ek_account_1.write_date, ek_account_1.write_uid, ek_account_1.outstanding_debt, ek_account_1.due_date, ek_account_1.account_balance, ek_account_1.payment_date, ek_account_1."id_EK_Customer", ek_account_1.transaction_type, ek_account_1.charge, ek_account_1.payment_id, ek_account_1."id_EK_Invoice", ek_account_1."id_EK_Customer_Event", ek_account_1.payment, ek_account_1.date, ek_account_1.transaction_date, ek_account_1.payment_errorcode, ek_account_1.payment_method, ek_account_1.invoiced, ek_account_1.outstanding_balance, ek_account_1.payment_schedule_id, ek_account_1.transaction_id
  • Index Cond: ((ek_account_1.transaction_type)::text = '43'::text)
  • Worker 0: actual time=0.045..21.582 rows=496 loops=1
  • Worker 1: actual time=0.370..22.387 rows=496 loops=1
24. 1.102 3.216 ↓ 1.7 910 3

Sort (cost=564.23..565.56 rows=533 width=9) (actual time=2.537..3.216 rows=910 loops=3)

  • Output: latest_account_balance.account_balance, latest_account_balance."id_EK_Customer
  • Sort Key: latest_account_balance."id_EK_Customer
  • Sort Method: quicksort Memory: 48kB
  • Worker 0: actual time=2.795..3.463 rows=833 loops=1
  • Worker 1: actual time=2.140..2.942 rows=1051 loops=1
25. 0.525 2.114 ↑ 1.1 494 3

Subquery Scan on latest_account_balance (cost=529.43..540.09 rows=533 width=9) (actual time=1.227..2.114 rows=494 loops=3)

  • Output: latest_account_balance.account_balance, latest_account_balance."id_EK_Customer
  • Worker 0: actual time=1.375..2.332 rows=494 loops=1
  • Worker 1: actual time=1.009..1.780 rows=494 loops=1
26. 0.974 1.589 ↑ 1.1 494 3

HashAggregate (cost=529.43..534.76 rows=533 width=20) (actual time=1.225..1.589 rows=494 loops=3)

  • Output: NULL::timestamp without time zone, ek_account_2.transaction_type, ek_account_2."id_EK_Customer", ek_account_2.account_balance
  • Group Key: ek_account_2.transaction_type, ek_account_2."id_EK_Customer", ek_account_2.account_balance
  • Worker 0: actual time=1.373..1.774 rows=494 loops=1
  • Worker 1: actual time=1.007..1.310 rows=494 loops=1
27. 0.615 0.615 ↑ 1.1 496 3

Index Scan using idx_ek_account_transaction_type on public.ek_account ek_account_2 (cost=0.56..525.43 rows=533 width=12) (actual time=0.040..0.615 rows=496 loops=3)

  • Output: ek_account_2.id, ek_account_2.create_uid, ek_account_2.create_date, ek_account_2.write_date, ek_account_2.write_uid, ek_account_2.outstanding_debt, ek_account_2.due_date, ek_account_2.account_balance, ek_account_2.payment_date, ek_account_2."id_EK_Customer", ek_account_2.transaction_type, ek_account_2.charge, ek_account_2.payment_id, ek_account_2."id_EK_Invoice", ek_account_2."id_EK_Customer_Event", ek_account_2.payment, ek_account_2.date, ek_account_2.transaction_date, ek_account_2.payment_errorcode, ek_account_2.payment_method, ek_account_2.invoiced, ek_account_2.outstanding_balance, ek_account_2.payment_schedule_id, ek_account_2.transaction_id
  • Index Cond: ((ek_account_2.transaction_type)::text = '43'::text)
  • Worker 0: actual time=0.042..0.675 rows=496 loops=1
  • Worker 1: actual time=0.032..0.523 rows=496 loops=1
28. 0.011 0.011 ↑ 1.0 2 3,236

Index Scan using ek_billing_status_customer_index on public.ek_billing_status (cost=0.42..1.82 rows=2 width=8) (actual time=0.008..0.011 rows=2 loops=3,236)

  • Output: ek_billing_status.id, ek_billing_status.create_uid, ek_billing_status.create_date, ek_billing_status.write_date, ek_billing_status.write_uid, ek_billing_status."End_Date", ek_billing_status."id_EK_Customer", ek_billing_status."Is_Active", ek_billing_status."id_EK_ICP", ek_billing_status."id_EK_Pricing_Plan", ek_billing_status."Start_Date", ek_billing_status.bill_alert, ek_billing_status.id_ek_switch_out, ek_billing_status.id_ek_switch_in, ek_billing_status.id_comp_pricing_plan, ek_billing_status.topup_limit, ek_billing_status.auto_topup_amount
  • Index Cond: (ek_billing_status."id_EK_Customer" = ek_customer.id)
  • Worker 0: actual time=0.010..0.012 rows=1 loops=869
  • Worker 1: actual time=0.008..0.011 rows=2 loops=1295
29. 0.007 0.007 ↑ 1.0 1 5,068

Index Scan using ek_icp_pkey on public.ek_icp (cost=0.42..0.53 rows=1 width=13) (actual time=0.007..0.007 rows=1 loops=5,068)

  • Output: ek_icp.id, ek_icp.create_uid, ek_icp.create_date, ek_icp.write_date, ek_icp.write_uid, ek_icp.icp_identifier, ek_icp."Physical_Address_Town", ek_icp."id_EK_Network", ek_icp."Dedicated_NSP", ek_icp."Reconciliation_Type", ek_icp."Submission_Type_HHR", ek_icp."Network_Participant_Identifier", ek_icp."id_EK_MEP", ek_icp."Profile", ek_icp."GPS_Northing", ek_icp."ANZSIC", ek_icp."Physical_Address_Post_Code", ek_icp."Physical_Address_Number", ek_icp."POC", ek_icp."ICP_Status", ek_icp."Submission_Type_NHH", ek_icp."Physical_Address_Street", ek_icp."Low_User", ek_icp."Distributor_Loss_Category_Code", ek_icp."GPS_Easting", ek_icp."Status_Reason", ek_icp."Physical_Address_Suburb", ek_icp."Physical_Address_Region", ek_icp."Physical_Address_Unit", ek_icp."MEP_Participant_Identifier", ek_icp."Distributor_Price_Category_Code", ek_icp."Unmetered_Load_Distributor", ek_icp.ek_geom, ek_icp."Switch_In_Progress", ek_icp."Trader_Code", ek_icp.gps_approximate, ek_icp.meter_multiplier_flag, ek_icp.mep_switch_in_progress, ek_icp."Registry_ICP_Details", ek_icp.daily_unmetered_kwh, ek_icp.unm_flag, ek_icp.shared_icps_list, ek_icp.unmetered_load_trader, ek_icp.pricing_config, ek_icp.installation_details, ek_icp.installation_type, ek_icp.property_name, ek_icp.proposed_mep, ek_icp.direct_billed_status, ek_icp.non_half_hour, ek_icp.highest_metering_category, ek_icp.half_hour, ek_icp.channel_count, ek_icp.prepay, ek_icp.chargeable_capacity, ek_icp.ami_non_comm, ek_icp.c_i_tou, ek_icp.ami_comm
  • Index Cond: (ek_icp.id = ek_billing_status."id_EK_ICP")
  • Worker 0: actual time=0.008..0.008 rows=1 loops=1251
  • Worker 1: actual time=0.007..0.007 rows=1 loops=1948
30. 1.007 1.007 ↓ 7.3 403 5,068

Index Scan using "idx_ek_debt_id_EK_Customer" on public.ek_debt (cost=0.42..1.48 rows=55 width=25) (actual time=0.073..1.007 rows=403 loops=5,068)

  • Output: ek_debt.id, ek_debt.create_uid, ek_debt.create_date, ek_debt.write_date, ek_debt.write_uid, ek_debt."id_EK_Customer", ek_debt."For_Date", ek_debt."Amount_30_Days", ek_debt."Amount_120_Days", ek_debt."Amount_90_Days", ek_debt."Average_Days_Arrears", ek_debt."Amount_60_Days", ek_debt.amount_0_days
  • Index Cond: (ek_debt."id_EK_Customer" = ek_billing_status."id_EK_Customer")
  • Worker 0: actual time=0.118..1.340 rows=387 loops=1251
  • Worker 1: actual time=0.077..0.996 rows=426 loops=1948
31. 0.077 0.210 ↑ 1.0 99 3

Hash (cost=8.99..8.99 rows=99 width=11) (actual time=0.210..0.210 rows=99 loops=3)

  • Output: res_users.login, res_users.id
  • Buckets: 1024 Batches: 1 Memory Usage: 13kB
  • Worker 0: actual time=0.216..0.216 rows=99 loops=1
  • Worker 1: actual time=0.205..0.205 rows=99 loops=1
32. 0.133 0.133 ↑ 1.0 99 3

Seq Scan on public.res_users (cost=0.00..8.99 rows=99 width=11) (actual time=0.013..0.133 rows=99 loops=3)

  • Output: res_users.login, res_users.id
  • Worker 0: actual time=0.014..0.130 rows=99 loops=1
  • Worker 1: actual time=0.019..0.137 rows=99 loops=1