explain.depesz.com

A tool for finding a real cause for slow queries.

Result: 1VN6

options
Did it help? Consider supporting us - Bitcoin address: 12v2hUztAk2LgzQ9H9LMwuU32urHMjZQnq
# exclusive inclusive rows x rows loops node
1. 315.925 3506.948 ↓ 239988.0 239988 1

Sort (cost=43879.29..43879.29 rows=1 width=1596) (actual time=3454.399..3506.948 rows=239988 loops=1)

  • Output: r.id, r.schedule_key, sr.account_id, sr.effective_date, public.price_tier.energy_price, public.price_tier.delivery_price, (COALESCE(public.price_tier.consumption_from, ((public.price_tier.consumption_percentage_from * r.consumption_baseline) / 100))), public.price_tier.label
  • Sort Key: (COALESCE(public.price_tier.consumption_from, ((public.price_tier.consumption_percentage_from * r.consumption_baseline) / 100)))
  • Sort Method: external merge Disk: 15552kB
2. 315.874 3191.023 ↓ 239988.0 239988 1

Hash Join (cost=41263.20..43879.28 rows=1 width=1596) (actual time=2566.641..3191.023 rows=239988 loops=1)

  • Output: r.id, r.schedule_key, sr.account_id, sr.effective_date, public.price_tier.energy_price, public.price_tier.delivery_price, COALESCE(public.price_tier.consumption_from, ((public.price_tier.consumption_percentage_from * r.consumption_baseline) / 100)), public.price_tier.label
  • Hash Cond: ((sr.schedule_id = r.schedule_id) AND ((r.schedule_key)::text = (r.rate_key)::text) AND ((sr.account_id)::text = (r.account_id)::text))
3. 79.694 2491.806 ↓ 92.1 239988 1

Hash Join (cost=40540.93..43127.67 rows=2606 width=1596) (actual time=2183.091..2491.806 rows=239988 loops=1)

  • Output: r.id, r.schedule_key, sr.account_id, sr.effective_date, sr.schedule_id, public.price_tier.energy_price, public.price_tier.delivery_price, public.price_tier.consumption_from, public.price_tier.consumption_percentage_from, public.price_tier.label
  • Hash Cond: (r.id = public.price_tier.rate_id)
4. 83.545 2412.085 ↓ 39.9 159992 1

Unique (cost=40528.00..43033.56 rows=4009 width=1180) (actual time=2183.014..2412.085 rows=159992 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (((NULL::bigint))::numeric), (((NULL::bigint))::numeric), ('IBR'::text), r.schedule_rates_id
5. 76.381 2328.540 ↓ 4.0 159992 1

Unique (cost=40528.00..41630.45 rows=40089 width=812) (actual time=2183.013..2328.540 rows=159992 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (((NULL::bigint))::numeric), (((NULL::bigint))::numeric), ('IBR'::text), r.schedule_rates_id
6. 1457.325 2252.159 ↓ 4.0 159992 1

Sort (cost=40528.00..40628.22 rows=40089 width=812) (actual time=2183.012..2252.159 rows=159992 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (((NULL::bigint))::numeric), (((NULL::bigint))::numeric), ('IBR'::text), r.schedule_rates_id
  • Sort Key: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (((NULL::bigint))::numeric), (((NULL::bigint))::numeric), ('IBR'::text), r.schedule_rates_id
  • Sort Method: external merge Disk: 9960kB
7. 11.142 794.834 ↓ 4.0 159992 1

Append (cost=7238.46..8686.01 rows=40089 width=812) (actual time=646.903..794.834 rows=159992 loops=1)

8. 17.728 740.309 ↓ 4.0 79996 1

Result (cost=7238.46..7790.63 rows=20079 width=543) (actual time=646.901..740.309 rows=79996 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (NULL::bigint), (NULL::bigint), ('IBR'::text), r.schedule_rates_id
9. 29.911 722.581 ↓ 4.0 79996 1

Unique (cost=7238.46..7790.63 rows=20079 width=543) (actual time=646.891..722.581 rows=79996 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (NULL::bigint), (NULL::bigint), ('IBR'::text), r.schedule_rates_id
10. 660.340 692.670 ↓ 4.0 79996 1

Sort (cost=7238.46..7288.65 rows=20079 width=543) (actual time=646.889..692.670 rows=79996 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (NULL::bigint), (NULL::bigint), ('IBR'::text), r.schedule_rates_id
  • Sort Key: r.id, sr.schedule_id, r.schedule_key, sr.account_id, (NULL::text), sr.effective_date, (NULL::bigint), (NULL::bigint), ('IBR'::text), r.schedule_rates_id
  • Sort Method: external merge Disk: 3912kB
11. 5.331 32.330 ↓ 4.0 79996 1

Append (cost=25.07..927.97 rows=20079 width=543) (actual time=0.095..32.330 rows=79996 loops=1)

12. 0.016 0.022 ↓ 0.0 0 1

Hash Join (cost=25.07..37.56 rows=70 width=1052) (actual time=0.022..0.022 rows=0 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, NULL::text, sr.effective_date, NULL::bigint, NULL::bigint, 'IBR'::text, r.schedule_rates_id
  • Hash Cond: (p.rate_id = r.id)
13. 0.002 0.002 ↑ 130.0 1 1

Seq Scan on price_tier p (cost=0.00..11.30 rows=130 width=4) (actual time=0.002..0.002 rows=1 loops=1)

  • Output: p.id, p.version, p.rate_id, p.energy_price, p.delivery_price, p.created_at, p.label, p.consumption_from, p.consumption_percentage_from
  • Filter: ((consumption_from IS NOT NULL) OR (consumption_percentage_from IS NOT NULL))
14. 0.000 0.004 ↓ 0.0 0 1

Hash (cost=24.20..24.20 rows=70 width=1052) (actual time=0.004..0.004 rows=0 loops=1)

  • Output: r.id, r.schedule_key, r.schedule_rates_id, sr.schedule_id, sr.account_id, sr.effective_date
15. 0.000 0.004 ↓ 0.0 0 1

Hash Join (cost=11.57..24.20 rows=70 width=1052) (actual time=0.004..0.004 rows=0 loops=1)

  • Output: r.id, r.schedule_key, r.schedule_rates_id, sr.schedule_id, sr.account_id, sr.effective_date
  • Hash Cond: (sr.id = r.schedule_rates_id)
16. 0.004 0.004 ↓ 0.0 0 1

Seq Scan on schedule_rates sr (cost=0.00..11.40 rows=139 width=532) (actual time=0.004..0.004 rows=0 loops=1)

  • Output: sr.id, sr.version, sr.account_id, sr.schedule_id, sr.effective_date, sr.created_at, sr.consumption_baseline
  • Filter: (account_id IS NOT NULL)
17. 0.000 0.000 ↓ 0.0 0

Hash (cost=10.70..10.70 rows=70 width=524) (actual time=.. rows= loops=0)

  • Output: r.id, r.schedule_key, r.schedule_rates_id
18. 0.000 0.000 ↓ 0.0 0

Seq Scan on rate r (cost=0.00..10.70 rows=70 width=524) (actual time=.. rows= loops=0)

  • Output: r.id, r.schedule_key, r.schedule_rates_id
19. 17.617 26.977 ↓ 4.0 79996 1

Nested Loop (cost=11.62..689.62 rows=20009 width=541) (actual time=0.071..26.977 rows=79996 loops=1)

  • Output: r.id, schedule_rates.schedule_id, r.schedule_key, ppe.account_id, NULL::text, schedule_rates.effective_date, NULL::bigint, NULL::bigint, 'IBR'::text, r.schedule_rates_id
  • Join Filter: (s.pricing_program_id = ppe.pricing_program_id)
20. 0.017 0.216 ↓ 4.0 4 1

Nested Loop (cost=11.62..33.42 rows=1 width=540) (actual time=0.062..0.216 rows=4 loops=1)

  • Output: r.id, r.schedule_key, r.schedule_rates_id, schedule_rates.schedule_id, schedule_rates.effective_date, s.pricing_program_id
  • Join Filter: (r.id = public.price_tier.rate_id)
21. 0.022 0.163 ↓ 9.0 9 1

Nested Loop (cost=0.00..17.57 rows=1 width=540) (actual time=0.030..0.163 rows=9 loops=1)

  • Output: r.id, r.schedule_key, r.schedule_rates_id, schedule_rates.schedule_id, schedule_rates.effective_date, s.pricing_program_id
22. 0.052 0.087 ↓ 9.0 9 1

Nested Loop (cost=0.00..9.29 rows=1 width=20) (actual time=0.023..0.087 rows=9 loops=1)

  • Output: schedule_rates.schedule_id, schedule_rates.effective_date, schedule_rates.id, s.pricing_program_id
  • Join Filter: (schedule_rates.schedule_id = s.id)
23. 0.017 0.017 ↓ 9.0 9 1

Index Scan using schedule_rates_account_id_index on schedule_rates (cost=0.00..8.27 rows=1 width=16) (actual time=0.009..0.017 rows=9 loops=1)

  • Output: schedule_rates.id, schedule_rates.version, schedule_rates.account_id, schedule_rates.schedule_id, schedule_rates.effective_date, schedule_rates.created_at, schedule_rates.consumption_baseline
  • Index Cond: (account_id IS NULL)
24. 0.018 0.018 ↓ 9.0 9 9

Seq Scan on schedule s (cost=0.00..1.01 rows=1 width=8) (actual time=0.001..0.002 rows=9 loops=9)

  • Output: s.id, s.version, s.name, s.effective_date, s.pricing_program_id, s.created_at, s.switch_point_resource, s.switch_point_content
25. 0.054 0.054 ↑ 1.0 1 9

Index Scan using rate_schedule_rates_id_key on rate r (cost=0.00..8.27 rows=1 width=524) (actual time=0.004..0.006 rows=1 loops=9)

  • Output: r.id, r.version, r.schedule_key, r.label, r.schedule_rates_id, r.created_at
  • Index Cond: (r.schedule_rates_id = schedule_rates.id)
26. 0.031 0.036 ↑ 32.5 4 9

HashAggregate (cost=11.62..12.93 rows=130 width=4) (actual time=0.002..0.004 rows=4 loops=9)

  • Output: public.price_tier.rate_id
27. 0.005 0.005 ↑ 10.8 12 1

Seq Scan on price_tier (cost=0.00..11.30 rows=130 width=4) (actual time=0.002..0.005 rows=12 loops=1)

  • Output: public.price_tier.rate_id
  • Filter: ((consumption_from IS NOT NULL) OR (consumption_percentage_from IS NOT NULL))
28. 9.144 9.144 ↑ 1.0 19999 4

Seq Scan on pricing_program_enrollment ppe (cost=0.00..406.09 rows=20009 width=9) (actual time=0.005..2.286 rows=19999 loops=4)

  • Output: ppe.account_id, ppe.pricing_program_id, ppe.effective_date, ppe.created_at, ppe.time_zone, ppe.pricing_program_enrollment_id, ppe.synthetic
29. 0.002 0.062 ↓ 0.0 0 1

Subquery Scan "*SELECT* 3" (cost=0.00..20.56 rows=1 width=1592) (actual time=0.062..0.062 rows=0 loops=1)

  • Output: "*SELECT* 3".rid, "*SELECT* 3".schedule_id, "*SELECT* 3".rate_key, "*SELECT* 3".account_id, "*SELECT* 3".label, "*SELECT* 3".effective_date, "*SELECT* 3".energy_price, "*SELECT* 3".delivery_price, 'SIMPLE'::text, "*SELECT* 3".group_order
30. 0.003 0.060 ↓ 0.0 0 1

Nested Loop (cost=0.00..20.55 rows=1 width=1592) (actual time=0.060..0.060 rows=0 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, sr.account_id, p.label, sr.effective_date, p.energy_price, p.delivery_price, 'SIMPLE'::text, r.schedule_rates_id
31. 0.007 0.047 ↓ 5.0 5 1

Nested Loop (cost=0.00..19.58 rows=1 width=1064) (actual time=0.039..0.047 rows=5 loops=1)

  • Output: p.label, p.energy_price, p.delivery_price, r.id, r.schedule_key, r.schedule_rates_id
32. 0.015 0.015 ↓ 5.0 5 1

Seq Scan on price_tier p (cost=0.00..11.30 rows=1 width=544) (actual time=0.012..0.015 rows=5 loops=1)

  • Output: p.id, p.version, p.rate_id, p.energy_price, p.delivery_price, p.created_at, p.label, p.consumption_from, p.consumption_percentage_from
  • Filter: ((consumption_from IS NULL) AND (consumption_percentage_from IS NULL))
33. 0.025 0.025 ↑ 1.0 1 5

Index Scan using rate_pk on rate r (cost=0.00..8.27 rows=1 width=524) (actual time=0.005..0.005 rows=1 loops=5)

  • Output: r.id, r.version, r.schedule_key, r.label, r.schedule_rates_id, r.created_at
  • Index Cond: (r.id = p.rate_id)
34. 0.010 0.010 ↓ 0.0 0 5

Index Scan using schedule_rates_pk on schedule_rates sr (cost=0.00..0.95 rows=1 width=532) (actual time=0.002..0.002 rows=0 loops=5)

  • Output: sr.id, sr.version, sr.account_id, sr.schedule_id, sr.effective_date, sr.created_at, sr.consumption_baseline
  • Index Cond: (sr.id = r.schedule_rates_id)
  • Filter: (sr.account_id IS NOT NULL)
35. 13.447 43.321 ↓ 4.0 79996 1

Subquery Scan "*SELECT* 4" (cost=0.00..874.83 rows=20009 width=1081) (actual time=0.061..43.321 rows=79996 loops=1)

  • Output: "*SELECT* 4".rid, "*SELECT* 4".schedule_id, "*SELECT* 4".rate_key, "*SELECT* 4".account_id, "*SELECT* 4".label, "*SELECT* 4".effective_date, "*SELECT* 4".energy_price, "*SELECT* 4".delivery_price, 'SIMPLE'::text, "*SELECT* 4".group_order
36. 18.420 29.874 ↓ 4.0 79996 1

Nested Loop (cost=0.00..674.74 rows=20009 width=1081) (actual time=0.059..29.874 rows=79996 loops=1)

  • Output: r.id, sr.schedule_id, r.schedule_key, ppe.account_id, public.price_tier.label, sr.effective_date, public.price_tier.energy_price, public.price_tier.delivery_price, 'SIMPLE'::text, r.schedule_rates_id
  • Join Filter: (s.pricing_program_id = ppe.pricing_program_id)
37. 0.017 0.199 ↓ 5.0 5 1

Nested Loop (cost=0.00..18.54 rows=1 width=1080) (actual time=0.028..0.199 rows=5 loops=1)

  • Output: public.price_tier.label, public.price_tier.energy_price, public.price_tier.delivery_price, r.id, r.schedule_key, r.schedule_rates_id, sr.schedule_id, sr.effective_date, s.pricing_program_id
38. 0.012 0.137 ↓ 9.0 9 1

Nested Loop (cost=0.00..17.57 rows=1 width=540) (actual time=0.020..0.137 rows=9 loops=1)

  • Output: sr.schedule_id, sr.effective_date, s.pricing_program_id, r.id, r.schedule_key, r.schedule_rates_id
39. 0.052 0.080 ↓ 9.0 9 1

Nested Loop (cost=0.00..9.29 rows=1 width=20) (actual time=0.015..0.080 rows=9 loops=1)

  • Output: sr.schedule_id, sr.effective_date, sr.id, s.pricing_program_id
  • Join Filter: (sr.schedule_id = s.id)
40. 0.010 0.010 ↓ 9.0 9 1

Index Scan using schedule_rates_account_id_index on schedule_rates sr (cost=0.00..8.27 rows=1 width=16) (actual time=0.003..0.010 rows=9 loops=1)

  • Output: sr.id, sr.version, sr.account_id, sr.schedule_id, sr.effective_date, sr.created_at, sr.consumption_baseline
  • Index Cond: (account_id IS NULL)
41. 0.018 0.018 ↓ 9.0 9 9

Seq Scan on schedule s (cost=0.00..1.01 rows=1 width=8) (actual time=0.001..0.002 rows=9 loops=9)

  • Output: s.id, s.version, s.name, s.effective_date, s.pricing_program_id, s.created_at, s.switch_point_resource, s.switch_point_content
42. 0.045 0.045 ↑ 1.0 1 9

Index Scan using rate_schedule_rates_id_key on rate r (cost=0.00..8.27 rows=1 width=524) (actual time=0.004..0.005 rows=1 loops=9)

  • Output: r.id, r.version, r.schedule_key, r.label, r.schedule_rates_id, r.created_at
  • Index Cond: (r.schedule_rates_id = sr.id)
43. 0.045 0.045 ↑ 1.0 1 9

Index Scan using price_tier_rate_id_index on price_tier (cost=0.00..0.95 rows=1 width=544) (actual time=0.003..0.005 rows=1 loops=9)

  • Output: public.price_tier.id, public.price_tier.version, public.price_tier.rate_id, public.price_tier.energy_price, public.price_tier.delivery_price, public.price_tier.created_at, public.price_tier.label, public.price_tier.consumption_from, public.price_tier.consumption_percentage_from
  • Index Cond: (public.price_tier.rate_id = r.id)
  • Filter: ((public.price_tier.consumption_from IS NULL) AND (public.price_tier.consumption_percentage_from IS NULL))
44. 11.255 11.255 ↑ 1.0 19999 5

Seq Scan on pricing_program_enrollment ppe (cost=0.00..406.09 rows=20009 width=9) (actual time=0.004..2.251 rows=19999 loops=5)

  • Output: ppe.account_id, ppe.pricing_program_id, ppe.effective_date, ppe.created_at, ppe.time_zone, ppe.pricing_program_enrollment_id, ppe.synthetic
45. 0.006 0.027 ↑ 10.8 12 1

Hash (cost=11.30..11.30 rows=130 width=552) (actual time=0.027..0.027 rows=12 loops=1)

  • Output: public.price_tier.energy_price, public.price_tier.delivery_price, public.price_tier.consumption_from, public.price_tier.consumption_percentage_from, public.price_tier.label, public.price_tier.rate_id
46. 0.021 0.021 ↑ 10.8 12 1

Seq Scan on price_tier (cost=0.00..11.30 rows=130 width=552) (actual time=0.018..0.021 rows=12 loops=1)

  • Output: public.price_tier.energy_price, public.price_tier.delivery_price, public.price_tier.consumption_from, public.price_tier.consumption_percentage_from, public.price_tier.label, public.price_tier.rate_id
  • Filter: ((consumption_percentage_from IS NOT NULL) OR (consumption_from IS NOT NULL))
47. 50.099 383.343 ↓ 159992.0 159992 1

Hash (cost=722.25..722.25 rows=1 width=1040) (actual time=383.343..383.343 rows=159992 loops=1)

  • Output: r.consumption_baseline, r.schedule_id, r.rate_key, r.account_id
48. 15.570 333.244 ↓ 159992.0 159992 1

Subquery Scan r (cost=722.23..722.25 rows=1 width=1040) (actual time=242.381..333.244 rows=159992 loops=1)

  • Output: r.consumption_baseline, r.schedule_id, r.rate_key, r.account_id
49. 197.758 317.674 ↓ 159992.0 159992 1

HashAggregate (cost=722.23..722.24 rows=1 width=1050) (actual time=242.381..317.674 rows=159992 loops=1)

  • Output: sr.schedule_id, r.schedule_key, ppe.account_id, r.label, ppe.pricing_program_id, sr.consumption_baseline, g.peak
50. 71.620 119.916 ↓ 159992.0 159992 1

Nested Loop Left Join (cost=37.88..722.22 rows=1 width=1050) (actual time=3.947..119.916 rows=159992 loops=1)

  • Output: sr.schedule_id, r.schedule_key, ppe.account_id, r.label, ppe.pricing_program_id, sr.consumption_baseline, g.peak
  • Join Filter: ((ppe.pricing_program_id = g.pricing_program_id) AND ((r.schedule_key)::text = (rk.rate_key)::text))
51. 29.491 48.296 ↓ 159992.0 159992 1

Nested Loop (cost=24.73..693.64 rows=1 width=1049) (actual time=3.944..48.296 rows=159992 loops=1)

  • Output: r.schedule_key, r.label, ppe.account_id, ppe.pricing_program_id, sr.schedule_id, sr.consumption_baseline
  • Join Filter: (s.pricing_program_id = ppe.pricing_program_id)
52. 0.054 0.337 ↓ 9.0 9 1

Nested Loop (cost=24.73..37.44 rows=1 width=1044) (actual time=0.066..0.337 rows=9 loops=1)

  • Output: r.schedule_key, r.label, s.pricing_program_id, sr.schedule_id, sr.consumption_baseline
  • Join Filter: ((sr.schedule_id = sr.schedule_id) AND ((r.schedule_key)::text = (r2.schedule_key)::text) AND (sr.effective_date = (max(sr.effective_date))))
53. 0.019 0.211 ↓ 9.0 9 1

Nested Loop (cost=0.00..9.91 rows=1 width=1056) (actual time=0.029..0.211 rows=9 loops=1)

  • Output: r.schedule_key, r.label, sr.schedule_id, sr.consumption_baseline, sr.effective_date, s.id, s.pricing_program_id
54. 0.035 0.129 ↓ 9.0 9 1

Nested Loop (cost=0.00..9.29 rows=1 width=28) (actual time=0.022..0.129 rows=9 loops=1)

  • Output: sr.schedule_id, sr.consumption_baseline, sr.id, sr.effective_date, s.id, s.pricing_program_id
55. 0.013 0.013 ↓ 9.0 9 1

Seq Scan on schedule s (cost=0.00..1.01 rows=1 width=8) (actual time=0.007..0.013 rows=9 loops=1)

  • Output: s.id, s.version, s.name, s.effective_date, s.pricing_program_id, s.created_at, s.switch_point_resource, s.switch_point_content
56. 0.081 0.081 ↑ 1.0 1 9

Index Scan using schedule_rates_schedule_id_index on schedule_rates sr (cost=0.00..8.27 rows=1 width=20) (actual time=0.008..0.009 rows=1 loops=9)

  • Output: sr.id, sr.version, sr.account_id, sr.schedule_id, sr.effective_date, sr.created_at, sr.consumption_baseline
  • Index Cond: (sr.schedule_id = s.id)
57. 0.063 0.063 ↑ 1.0 1 9

Index Scan using rate_schedule_rates_id_key on rate r (cost=0.00..0.61 rows=1 width=1036) (actual time=0.003..0.007 rows=1 loops=9)

  • Output: r.id, r.version, r.schedule_key, r.label, r.schedule_rates_id, r.created_at
  • Index Cond: (r.schedule_rates_id = sr.id)
58. 0.049 0.072 ↑ 7.8 9 9

HashAggregate (cost=24.73..25.60 rows=70 width=528) (actual time=0.004..0.008 rows=9 loops=9)

  • Output: max(sr.effective_date), sr.schedule_id, r2.schedule_key
59. 0.014 0.023 ↑ 7.8 9 1

Hash Join (cost=11.57..24.20 rows=70 width=528) (actual time=0.020..0.023 rows=9 loops=1)

  • Output: sr.effective_date, sr.schedule_id, r2.schedule_key
  • Hash Cond: (sr.id = r2.schedule_rates_id)
60. 0.002 0.002 ↑ 15.6 9 1

Seq Scan on schedule_rates sr (cost=0.00..11.40 rows=140 width=16) (actual time=0.001..0.002 rows=9 loops=1)

  • Output: sr.id, sr.version, sr.account_id, sr.schedule_id, sr.effective_date, sr.created_at, sr.consumption_baseline
61. 0.004 0.007 ↑ 7.8 9 1

Hash (cost=10.70..10.70 rows=70 width=520) (actual time=0.007..0.007 rows=9 loops=1)

  • Output: r2.schedule_key, r2.schedule_rates_id
62. 0.003 0.003 ↑ 7.8 9 1

Seq Scan on rate r2 (cost=0.00..10.70 rows=70 width=520) (actual time=0.001..0.003 rows=9 loops=1)

  • Output: r2.schedule_key, r2.schedule_rates_id
63. 18.468 18.468 ↑ 1.0 19999 9

Seq Scan on pricing_program_enrollment ppe (cost=0.00..406.09 rows=20009 width=9) (actual time=0.005..2.052 rows=19999 loops=9)

  • Output: ppe.account_id, ppe.pricing_program_id, ppe.effective_date, ppe.created_at, ppe.time_zone, ppe.pricing_program_enrollment_id, ppe.synthetic
64. 0.000 0.000 ↓ 0.0 0 159992

Hash Join (cost=13.15..26.48 rows=140 width=521) (actual time=0.000..0.000 rows=0 loops=159992)

  • Output: rk.rate_key, g.peak, g.pricing_program_id
  • Hash Cond: (rk.rate_group_id = g.id)
65. 0.000 0.000 ↓ 0.0 0 159992

Seq Scan on rate_group_ratekeys rk (cost=0.00..11.40 rows=140 width=520) (actual time=0.000..0.000 rows=0 loops=159992)

  • Output: rk.rate_group_id, rk.rate_key
66. 0.000 0.000 ↓ 0.0 0

Hash (cost=11.40..11.40 rows=140 width=9) (actual time=.. rows= loops=0)

  • Output: g.peak, g.id, g.pricing_program_id
67. 0.000 0.000 ↓ 0.0 0

Seq Scan on rate_group g (cost=0.00..11.40 rows=140 width=9) (actual time=.. rows= loops=0)

  • Output: g.peak, g.id, g.pricing_program_id