explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 2kEY : Optimization for: Optimization for: plan #ZN9x; plan #wgFb

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 10,003.607 70,023.193 ↑ 4.3 61,489 1

GroupAggregate (cost=483,332.98..42,193,957.62 rows=264,662 width=376) (actual time=40,253.830..70,023.193 rows=61,489 loops=1)

  • Group Key: cu.id, ces.id, cf.fid, st.id, tm.id, cr.id, sh.id
2.          

CTE fd

3. 0.270 2.482 ↑ 1.0 1 1

Aggregate (cost=2,309.71..2,309.72 rows=1 width=8) (actual time=2.482..2.482 rows=1 loops=1)

4. 2.212 2.212 ↑ 1.0 297 1

Seq Scan on students_list_bck (cost=0.00..2,308.97 rows=297 width=8) (actual time=0.016..2.212 rows=297 loops=1)

5.          

Initplan (for GroupAggregate)

6. 2.488 2.488 ↑ 1.0 1 1

CTE Scan on fd (cost=0.00..0.02 rows=1 width=8) (actual time=2.486..2.488 rows=1 loops=1)

7. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on fd fd_1 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=1)

8. 0.002 0.002 ↑ 1.0 1 1

CTE Scan on fd fd_2 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

9. 0.002 0.002 ↑ 1.0 1 1

CTE Scan on fd fd_3 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

10. 0.002 0.002 ↑ 1.0 1 1

CTE Scan on fd fd_4 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

11. 0.002 0.002 ↑ 1.0 1 1

CTE Scan on fd fd_5 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

12. 0.001 0.001 ↑ 1.0 1 1

CTE Scan on fd fd_6 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=1)

13. 0.002 0.002 ↑ 1.0 1 1

CTE Scan on fd fd_7 (cost=0.00..0.02 rows=1 width=8) (actual time=0.001..0.002 rows=1 loops=1)

14. 15,151.539 44,706.325 ↓ 14.0 3,699,508 1

Sort (cost=481,023.09..481,684.75 rows=264,662 width=376) (actual time=40,253.329..44,706.325 rows=3,699,508 loops=1)

  • Sort Key: cu.id, ces.id, cf.fid, st.id, tm.id, cr.id, sh.id
  • Sort Method: external merge Disk: 1154176kB
15. 6,715.981 29,554.786 ↓ 14.0 3,699,508 1

Merge Right Join (cost=399,225.10..411,954.76 rows=264,662 width=376) (actual time=18,100.659..29,554.786 rows=3,699,508 loops=1)

  • Merge Cond: ((sbd.user_id = (COALESCE(pd1.user_id, pd2.user_id))) AND (acd.sis_id = ((cr.sis_fid)::text)) AND (tmd.sis_id = ((tm.sis_fid)::text)))
  • Filter: ((COALESCE(pd1.updated_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $9) OR (COALESCE(pd2.updated_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $10) OR (st.updated_at > $11) OR (COALESCE(en.updated_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $12) OR (COALESCE(ese.updated_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $13) OR (COALESCE(sbd.created_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $14) OR (COALESCE(asd.created_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $15) OR (COALESCE(crd.created_at, '2000-01-01 00:00:00+01'::timestamp with time zone) > $16))
  • Rows Removed by Filter: 4718
16. 5,664.584 16,752.169 ↓ 3.8 1,223,617 1

Sort (cost=299,207.09..300,011.74 rows=321,861 width=84) (actual time=14,456.991..16,752.169 rows=1,223,617 loops=1)

  • Sort Key: sbd.user_id, acd.sis_id, tmd.sis_id
  • Sort Method: external merge Disk: 108272kB
17. 4,807.920 11,087.585 ↓ 3.8 1,223,617 1

Hash Join (cost=109,507.06..254,359.62 rows=321,861 width=84) (actual time=3,850.096..11,087.585 rows=1,223,617 loops=1)

  • Hash Cond: (sbf.submission_id = sbd.id)
18. 2,429.809 2,429.809 ↑ 1.0 4,873,887 1

Seq Scan on raw_submissions_facts sbf (cost=0.00..71,357.87 rows=4,873,887 width=16) (actual time=0.009..2,429.809 rows=4,873,887 loops=1)

19. 922.580 3,849.856 ↓ 3.8 1,223,617 1

Hash (cost=101,082.80..101,082.80 rows=321,861 width=84) (actual time=3,849.856..3,849.856 rows=1,223,617 loops=1)

  • Buckets: 262144 (originally 262144) Batches: 8 (originally 2) Memory Usage: 30721kB
20. 1,124.109 2,927.276 ↓ 3.8 1,223,617 1

Nested Loop (cost=217.19..101,082.80 rows=321,861 width=84) (actual time=7.147..2,927.276 rows=1,223,617 loops=1)

21. 10.995 56.774 ↓ 2.4 9,339 1

Hash Join (cost=216.76..3,373.58 rows=3,870 width=42) (actual time=7.128..56.774 rows=9,339 loops=1)

  • Hash Cond: (asd.course_id = crd.id)
22. 14.423 41.373 ↓ 1.6 9,339 1

Hash Join (cost=131.75..3,227.50 rows=5,966 width=32) (actual time=2.717..41.373 rows=9,339 loops=1)

  • Hash Cond: (asd.assignment_group_id = agf.assignment_group_id)
23. 24.246 24.246 ↓ 1.0 16,126 1

Seq Scan on raw_assignments_dim asd (cost=0.00..2,975.93 rows=16,045 width=40) (actual time=0.006..24.246 rows=16,126 loops=1)

  • Filter: (status = 'published'::text)
  • Rows Removed by Filter: 28668
24. 1.117 2.704 ↑ 1.0 2,163 1

Hash (cost=104.71..104.71 rows=2,163 width=8) (actual time=2.704..2.704 rows=2,163 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 117kB
25. 1.587 1.587 ↑ 1.0 2,163 1

Seq Scan on raw_assignment_groups_facts agf (cost=0.00..104.71 rows=2,163 width=8) (actual time=0.007..1.587 rows=2,163 loops=1)

  • Filter: (group_weight > '0'::double precision)
  • Rows Removed by Filter: 3654
26. 0.727 4.406 ↓ 1.4 1,313 1

Hash (cost=73.63..73.63 rows=910 width=26) (actual time=4.406..4.406 rows=1,313 loops=1)

  • Buckets: 2048 (originally 1024) Batches: 1 (originally 1) Memory Usage: 88kB
27. 1.318 3.679 ↓ 1.4 1,313 1

Hash Join (cost=3.73..73.63 rows=910 width=26) (actual time=0.097..3.679 rows=1,313 loops=1)

  • Hash Cond: (crd.term_id = tmd.id)
28. 1.560 2.345 ↓ 1.4 1,313 1

Hash Join (cost=2.53..59.92 rows=910 width=30) (actual time=0.078..2.345 rows=1,313 loops=1)

  • Hash Cond: (crd.account_id = acd.id)
29. 0.718 0.718 ↑ 1.0 1,403 1

Seq Scan on raw_courses_dim crd (cost=0.00..43.03 rows=1,403 width=32) (actual time=0.004..0.718 rows=1,403 loops=1)

30. 0.026 0.067 ↑ 1.0 48 1

Hash (cost=1.93..1.93 rows=48 width=14) (actual time=0.067..0.067 rows=48 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
31. 0.041 0.041 ↑ 1.0 48 1

Seq Scan on raw_accounts_dim acd (cost=0.00..1.93 rows=48 width=14) (actual time=0.007..0.041 rows=48 loops=1)

  • Filter: (status <> 'deleted'::text)
  • Rows Removed by Filter: 26
32. 0.011 0.016 ↑ 1.0 9 1

Hash (cost=1.09..1.09 rows=9 width=12) (actual time=0.016..0.016 rows=9 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
33. 0.005 0.005 ↑ 1.0 9 1

Seq Scan on raw_terms_dim tmd (cost=0.00..1.09 rows=9 width=12) (actual time=0.002..0.005 rows=9 loops=1)

34. 1,746.393 1,746.393 ↑ 1.3 131 9,339

Index Scan using raw_dim_submissions_assignment_id_idx on raw_submissions_dim sbd (cost=0.43..23.50 rows=175 width=50) (actual time=0.008..0.187 rows=131 loops=9,339)

  • Index Cond: (assignment_id = asd.id)
  • Filter: (status <> 'deleted'::text)
  • Rows Removed by Filter: 7
35. 1,795.908 6,086.636 ↓ 13.4 3,704,226 1

Materialize (cost=100,018.02..101,395.06 rows=275,408 width=334) (actual time=3,641.155..6,086.636 rows=3,704,226 loops=1)

36. 2,297.674 4,290.728 ↑ 1.1 247,478 1

Sort (cost=100,018.02..100,706.54 rows=275,408 width=334) (actual time=3,641.150..4,290.728 rows=247,478 loops=1)

  • Sort Key: (COALESCE(pd1.user_id, pd2.user_id)), ((cr.sis_fid)::text), ((tm.sis_fid)::text)
  • Sort Method: external merge Disk: 68464kB
37. 474.738 1,993.054 ↑ 1.1 247,478 1

Hash Right Join (cost=24,597.10..32,772.74 rows=275,408 width=334) (actual time=1,203.129..1,993.054 rows=247,478 loops=1)

  • Hash Cond: (en.student_id = st.id)
38. 212.902 595.068 ↓ 1.1 245,387 1

Hash Right Join (cost=7,904.71..12,470.89 rows=228,101 width=41) (actual time=279.804..595.068 rows=245,387 loops=1)

  • Hash Cond: (ese.enroll_id = en.id)
39. 61.347 109.088 ↑ 1.0 59,738 1

Hash Join (cost=219.44..3,964.22 rows=59,738 width=23) (actual time=6.587..109.088 rows=59,738 loops=1)

  • Hash Cond: (ese.event_session_id = es.id)
40. 41.178 41.178 ↑ 1.0 59,738 1

Seq Scan on events_sessions_enrolls ese (cost=0.00..2,923.38 rows=59,738 width=21) (actual time=0.005..41.178 rows=59,738 loops=1)

41. 1.567 6.563 ↑ 1.0 3,084 1

Hash (cost=180.89..180.89 rows=3,084 width=10) (actual time=6.563..6.563 rows=3,084 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 159kB
42. 3.283 4.996 ↑ 1.0 3,084 1

Hash Join (cost=6.64..180.89 rows=3,084 width=10) (actual time=0.190..4.996 rows=3,084 loops=1)

  • Hash Cond: (es.event_id = ev.id)
43. 1.538 1.538 ↑ 1.0 3,084 1

Seq Scan on events_sessions es (cost=0.00..131.84 rows=3,084 width=8) (actual time=0.004..1.538 rows=3,084 loops=1)

44. 0.127 0.175 ↑ 1.0 162 1

Hash (cost=4.62..4.62 rows=162 width=6) (actual time=0.175..0.175 rows=162 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
45. 0.048 0.048 ↑ 1.0 162 1

Seq Scan on events ev (cost=0.00..4.62 rows=162 width=6) (actual time=0.006..0.048 rows=162 loops=1)

46. 139.279 273.078 ↑ 1.0 228,101 1

Hash (cost=4,834.01..4,834.01 rows=228,101 width=22) (actual time=273.078..273.078 rows=228,101 loops=1)

  • Buckets: 262144 Batches: 1 Memory Usage: 15414kB
47. 133.799 133.799 ↑ 1.0 228,101 1

Seq Scan on enrolls en (cost=0.00..4,834.01 rows=228,101 width=22) (actual time=0.010..133.799 rows=228,101 loops=1)

48. 64.858 923.248 ↑ 1.2 61,873 1

Hash (cost=15,766.37..15,766.37 rows=74,082 width=297) (actual time=923.248..923.248 rows=61,873 loops=1)

  • Buckets: 131072 Batches: 1 Memory Usage: 16715kB
49. 67.166 858.390 ↑ 1.2 61,873 1

Hash Join (cost=11,713.40..15,766.37 rows=74,082 width=297) (actual time=643.522..858.390 rows=61,873 loops=1)

  • Hash Cond: (st.center_id = sh.id)
50. 112.422 791.174 ↑ 1.2 61,873 1

Hash Right Join (cost=11,711.66..14,746.00 rows=74,082 width=282) (actual time=643.463..791.174 rows=61,873 loops=1)

  • Hash Cond: (pd2.unique_name = (cu.mail)::text)
51. 35.364 35.364 ↑ 1.0 71,019 1

Seq Scan on raw_pseudonym_dim pd2 (cost=0.00..2,027.19 rows=71,019 width=58) (actual time=0.006..35.364 rows=71,019 loops=1)

52. 63.146 643.388 ↓ 1.5 61,786 1

Hash (cost=11,205.95..11,205.95 rows=40,456 width=258) (actual time=643.388..643.388 rows=61,786 loops=1)

  • Buckets: 65536 Batches: 1 Memory Usage: 14984kB
53. 67.266 580.242 ↓ 1.5 61,786 1

Hash Join (cost=7,949.48..11,205.95 rows=40,456 width=258) (actual time=321.577..580.242 rows=61,786 loops=1)

  • Hash Cond: (st.course_id = cr.id)
54. 65.703 512.939 ↓ 1.5 61,786 1

Hash Join (cost=7,946.97..10,647.17 rows=40,456 width=216) (actual time=321.533..512.939 rows=61,786 loops=1)

  • Hash Cond: (st.term_id = tm.id)
55. 72.007 447.213 ↓ 1.5 61,786 1

Hash Join (cost=7,945.58..10,089.51 rows=40,456 width=201) (actual time=321.502..447.213 rows=61,786 loops=1)

  • Hash Cond: (cf.customer_id = cu.id)
56. 38.967 140.296 ↑ 1.0 26,087 1

Hash Left Join (cost=2,914.93..4,575.32 rows=26,347 width=32) (actual time=86.541..140.296 rows=26,087 loops=1)

  • Hash Cond: ((cf.fid)::text = pd1.sis_user_id)
57. 18.484 18.484 ↑ 1.0 26,087 1

Seq Scan on customers_fids cf (cost=0.00..1,133.45 rows=26,347 width=8) (actual time=3.615..18.484 rows=26,087 loops=1)

  • Filter: (data_source_id = 'sis'::text)
  • Rows Removed by Filter: 35267
58. 38.332 82.845 ↑ 1.8 38,501 1

Hash (cost=2,027.19..2,027.19 rows=71,019 width=34) (actual time=82.845..82.845 rows=38,501 loops=1)

  • Buckets: 131072 Batches: 1 Memory Usage: 3552kB
59. 44.513 44.513 ↑ 1.0 71,019 1

Seq Scan on raw_pseudonym_dim pd1 (cost=0.00..2,027.19 rows=71,019 width=34) (actual time=0.006..44.513 rows=71,019 loops=1)

60. 52.617 234.910 ↓ 1.3 61,357 1

Hash (cost=4,427.52..4,427.52 rows=48,251 width=173) (actual time=234.910..234.910 rows=61,357 loops=1)

  • Buckets: 65536 Batches: 1 Memory Usage: 9855kB
61. 73.000 182.293 ↓ 1.3 61,357 1

Hash Join (cost=2,311.35..4,427.52 rows=48,251 width=173) (actual time=72.229..182.293 rows=61,357 loops=1)

  • Hash Cond: (st.customer_id = cu.id)
62. 37.099 37.099 ↑ 1.0 61,357 1

Seq Scan on students st (cost=0.00..1,403.57 rows=61,357 width=43) (actual time=0.006..37.099 rows=61,357 loops=1)

63. 19.329 72.194 ↓ 1.0 26,009 1

Hash (cost=1,986.55..1,986.55 rows=25,984 width=130) (actual time=72.194..72.194 rows=26,009 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 3411kB
64. 29.811 52.865 ↓ 1.0 26,009 1

Hash Join (cost=1.38..1,986.55 rows=25,984 width=130) (actual time=0.053..52.865 rows=26,009 loops=1)

  • Hash Cond: (cu.enabled_status_id = ces.id)
65. 23.032 23.032 ↑ 1.0 33,042 1

Seq Scan on customers cu (cost=0.00..1,601.42 rows=33,042 width=74) (actual time=0.006..23.032 rows=33,042 loops=1)

66. 0.015 0.022 ↑ 1.0 17 1

Hash (cost=1.17..1.17 rows=17 width=56) (actual time=0.022..0.022 rows=17 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
67. 0.007 0.007 ↑ 1.0 17 1

Seq Scan on customer_enabled_status ces (cost=0.00..1.17 rows=17 width=56) (actual time=0.004..0.007 rows=17 loops=1)

68. 0.017 0.023 ↑ 1.0 17 1

Hash (cost=1.17..1.17 rows=17 width=19) (actual time=0.023..0.023 rows=17 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
69. 0.006 0.006 ↑ 1.0 17 1

Seq Scan on terms tm (cost=0.00..1.17 rows=17 width=19) (actual time=0.003..0.006 rows=17 loops=1)

70. 0.012 0.037 ↑ 1.0 23 1

Hash (cost=2.23..2.23 rows=23 width=42) (actual time=0.037..0.037 rows=23 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
71. 0.025 0.025 ↑ 1.0 23 1

Seq Scan on courses cr (cost=0.00..2.23 rows=23 width=42) (actual time=0.007..0.025 rows=23 loops=1)

72. 0.024 0.050 ↑ 1.0 33 1

Hash (cost=1.33..1.33 rows=33 width=19) (actual time=0.050..0.050 rows=33 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
73. 0.026 0.026 ↑ 1.0 33 1

Seq Scan on shops sh (cost=0.00..1.33 rows=33 width=19) (actual time=0.012..0.026 rows=33 loops=1)

74.          

SubPlan (for GroupAggregate)

75. 184.467 1,168.291 ↑ 1.0 1 61,489

Aggregate (cost=91.41..91.42 rows=1 width=4) (actual time=0.019..0.019 rows=1 loops=61,489)

76. 79.276 983.824 ↓ 0.0 0 61,489

Nested Loop Anti Join (cost=9.50..91.41 rows=3 width=4) (actual time=0.016..0.016 rows=0 loops=61,489)

  • Join Filter: ((od2.customer_id = od.customer_id) AND (ol2.product_id = ol.product_id))
  • Rows Removed by Join Filter: 1
77. 109.528 737.868 ↓ 0.0 0 61,489

Nested Loop (cost=4.75..32.27 rows=3 width=12) (actual time=0.012..0.012 rows=0 loops=61,489)

78. 430.423 614.890 ↓ 0.0 0 61,489

Bitmap Heap Scan on orders od (cost=4.33..23.51 rows=1 width=8) (actual time=0.010..0.010 rows=0 loops=61,489)

  • Recheck Cond: (customer_id = cu.id)
  • Filter: (last_order_state_id = 13)
  • Rows Removed by Filter: 5
  • Heap Blocks: exact=312168
79. 184.467 184.467 ↑ 1.0 5 61,489

Bitmap Index Scan on orders_customer_id_idx (cost=0.00..4.33 rows=5 width=0) (actual time=0.003..0.003 rows=5 loops=61,489)

  • Index Cond: (customer_id = cu.id)
80. 13.450 13.450 ↑ 4.0 1 2,690

Index Scan using orders_lines_order_id_idx on orders_lines ol (cost=0.42..8.72 rows=4 width=12) (actual time=0.004..0.005 rows=1 loops=2,690)

  • Index Cond: (order_id = od.id)
81. 38.772 166.680 ↓ 1.2 12 3,704

Materialize (cost=4.75..58.61 rows=10 width=8) (actual time=0.009..0.045 rows=12 loops=3,704)

82. 45.836 127.908 ↓ 1.2 12 2,508

Nested Loop (cost=4.75..58.56 rows=10 width=8) (actual time=0.012..0.051 rows=12 loops=2,508)

83. 22.572 30.096 ↓ 1.2 5 2,508

Bitmap Heap Scan on orders od2 (cost=4.33..23.52 rows=4 width=8) (actual time=0.005..0.012 rows=5 loops=2,508)

  • Recheck Cond: (customer_id = cu.id)
  • Filter: (last_order_state_id = ANY ('{2,4,16,17}'::integer[]))
  • Rows Removed by Filter: 1
  • Heap Blocks: exact=14612
84. 7.524 7.524 ↓ 1.6 8 2,508

Bitmap Index Scan on orders_customer_id_idx (cost=0.00..4.33 rows=5 width=0) (actual time=0.003..0.003 rows=8 loops=2,508)

  • Index Cond: (customer_id = cu.id)
85. 51.976 51.976 ↑ 2.0 2 12,994

Index Scan using orders_lines_order_id_idx on orders_lines ol2 (cost=0.42..8.72 rows=4 width=8) (actual time=0.003..0.004 rows=2 loops=12,994)

  • Index Cond: (order_id = od2.id)
86. 307.445 14,142.470 ↑ 1.0 1 61,489

Aggregate (cost=66.03..66.04 rows=1 width=1) (actual time=0.230..0.230 rows=1 loops=61,489)

87. 860.846 13,835.025 ↓ 1.4 7 61,489

HashAggregate (cost=65.92..65.97 rows=5 width=9) (actual time=0.221..0.225 rows=7 loops=61,489)

  • Group Key: fsb.id
88. 1,548.640 12,974.179 ↓ 2.6 13 61,489

Nested Loop Left Join (cost=0.71..65.89 rows=5 width=9) (actual time=0.046..0.211 rows=13 loops=61,489)

89. 975.436 9,776.751 ↓ 2.6 13 61,489

Nested Loop (cost=0.29..23.64 rows=5 width=8) (actual time=0.041..0.159 rows=13 loops=61,489)

90. 1,465.625 3,320.406 ↓ 2.0 2 61,489

Nested Loop (cost=0.29..16.67 rows=1 width=8) (actual time=0.028..0.054 rows=2 loops=61,489)

  • Join Filter: (fst.term_id = ftm.id)
  • Rows Removed by Join Filter: 37
91. 307.445 307.445 ↓ 3.0 3 61,489

Index Scan using students_customer_id_idx on students fst (cost=0.29..15.38 rows=1 width=12) (actual time=0.003..0.005 rows=3 loops=61,489)

  • Index Cond: (customer_id = st.customer_id)
  • Filter: (course_id = st.course_id)
  • Rows Removed by Filter: 0
92. 1,547.336 1,547.336 ↓ 2.0 12 193,417

Seq Scan on terms ftm (cost=0.00..1.21 rows=6 width=4) (actual time=0.001..0.008 rows=12 loops=193,417)

  • Filter: (enroll_from_date <= tm.enroll_from_date)
  • Rows Removed by Filter: 5
93. 5,480.909 5,480.909 ↓ 1.2 6 127,463

Seq Scan on subjects fsb (cost=0.00..6.93 rows=5 width=8) (actual time=0.010..0.043 rows=6 loops=127,463)

  • Filter: (mandatory_for_fct AND (course_id = st.course_id))
  • Rows Removed by Filter: 308
94. 1,648.788 1,648.788 ↓ 0.0 0 824,394

Index Scan using enrolls_student_id_subject_id_key on enrolls fen (cost=0.42..8.44 rows=1 width=13) (actual time=0.002..0.002 rows=0 loops=824,394)

  • Index Cond: ((student_id = fst.id) AND (subject_id = fsb.id))
Planning time : 25.287 ms
Execution time : 70,207.189 ms