explain.depesz.com

PostgreSQL's explain analyze made readable

Result: owJJ

Settings
# exclusive inclusive rows x rows loops node
1. 0.027 50.400 ↑ 1.0 1 1

Aggregate (cost=5,416.76..5,416.77 rows=1 width=8) (actual time=50.400..50.400 rows=1 loops=1)

2. 0.167 50.373 ↓ 13.9 446 1

Unique (cost=5,414.36..5,416.36 rows=32 width=930) (actual time=50.173..50.373 rows=446 loops=1)

3.          

Initplan (forUnique)

4. 0.009 0.009 ↑ 1.0 1 1

Seq Scan on ap_feed_views_config (cost=0.00..13.51 rows=1 width=24) (actual time=0.009..0.009 rows=1 loops=1)

  • Filter: ((config_name)::text = 'feeds_education_period_cd'::text)
5. 0.002 0.002 ↑ 1.0 1 1

Seq Scan on ap_feed_views_config ap_feed_views_config_1 (cost=0.00..13.50 rows=1 width=20) (actual time=0.002..0.002 rows=1 loops=1)

  • Filter: ((config_name)::text = 'feeds_education_period_cd'::text)
6. 0.423 50.195 ↓ 13.9 446 1

Sort (cost=5,387.36..5,387.44 rows=32 width=930) (actual time=50.173..50.195 rows=446 loops=1)

  • Sort Key: scoring_item_submission.sis_id, scoring_item_submission.enrollment_id, (COALESCE(u.artifact_path, 'No artifact identifier specified'::character varying)), u.s3_version, u.file_name, scoring_item_submission.submission_status_id, (CASE WHEN scoring_item_submission.artifact_plagiarized_ind THEN 'Y'::text ELSE 'U'::text END), (CASE WHEN (NOT scoring_item_submission.sent_plagiarism_checker_ind) THEN 'N'::text WHEN scoring_item_submission.sent_plagiarism_checker_ind THEN 'Y'::text ELSE 'U'::text END), (CASE WHEN (scoring_item_submission.plagiarism_found_by_checker_ind AND scoring_item_submission.sent_plagiarism_checker_ind) THEN 'Y'::text WHEN (((NOT scoring_item_submission.plagiarism_found_by_checker_ind) OR (scoring_item_submission.plagiarism_found_by_checker_ind IS NULL)) AND scoring_item_submission.sent_plagiarism_checker_ind) THEN 'N'::text WHEN ((scoring_item_submission.sent_plagiarism_checker_ind IS NULL) OR (NOT scoring_item_submission.sent_plagiarism_checker_ind)) THEN 'N'::text ELSE 'U'::text END), (CASE WHEN scoring_item_submission.override_plagiarism_flags_ind THEN 'Y'::text ELSE 'U'::text END), (CASE WHEN scoring_item_submission.override_plagiarism_flags_ind THEN 'Y'::text WHEN (((NOT scoring_item_submission.override_plagiarism_flags_ind) OR (scoring_item_submission.override_plagiarism_flags_ind IS NULL)) AND (scoring_item_submission.plagiarism_found_by_checker_ind OR scoring_item_submission.artifact_plagiarized_ind)) THEN 'N'::text ELSE 'Y'::text END), scoring_item_submission.comments, m_1.metadata_name, (CASE WHEN ((mvr.value_name)::text = 'Other'::text) THEN ((((mvr.value_name)::text || '|'::text) || (mv.metadata_value)::text))::character varying ELSE mvr.value_name END), (CASE WHEN l_1.permission_to_reuse THEN 'N'::text ELSE 'Y'::text END), c.course_cd, (CASE WHEN ((u.create_dt IS NOT NULL) AND (u.create_dt > scoring_item_submission.create_dt)) THEN u.create_dt ELSE scoring_item_submission.create_dt END), (CASE WHEN ((u.update_dt IS NOT NULL) AND (u.update_dt > scoring_item_submission.update_dt)) THEN u.update_dt ELSE scoring_item_submission.update_dt END), (CASE WHEN l_1.exam_intent_ind THEN 'Y'::text ELSE CASE WHEN (NOT l_1.exam_intent_ind) THEN 'N'::text ELSE 'U'::text END END), scoring_item_submission.assignment_id, y.lesson_id, z.dp_module_id, p.dp_person_id, s.enterprise_org_id
  • Sort Method: quicksort Memory: 170kB
7. 0.243 49.772 ↓ 13.9 446 1

Result (cost=4,655.34..5,386.56 rows=32 width=930) (actual time=46.603..49.772 rows=446 loops=1)

  • One-Time Filter: (($1)::text = ($2)::text)
8. 0.135 49.529 ↓ 13.9 446 1

Hash Left Join (cost=4,655.34..5,386.16 rows=32 width=798) (actual time=46.578..49.529 rows=446 loops=1)

  • Hash Cond: (y.dp_module_id = z.dp_module_id)
9. 0.142 49.367 ↓ 13.9 446 1

Hash Left Join (cost=4,648.52..5,379.25 rows=32 width=798) (actual time=46.535..49.367 rows=446 loops=1)

  • Hash Cond: (x.lesson_id = y.lesson_id)
10. 0.134 49.180 ↓ 13.9 446 1

Hash Left Join (cost=4,637.66..5,368.31 rows=32 width=790) (actual time=46.475..49.180 rows=446 loops=1)

  • Hash Cond: (scoring_item_submission.assignment_id = x.assignment_id)
11. 0.166 49.005 ↓ 13.9 446 1

Hash Left Join (cost=4,633.16..5,363.72 rows=32 width=782) (actual time=46.419..49.005 rows=446 loops=1)

  • Hash Cond: (scoring_item_submission.sis_id = mv.sis_id)
  • Filter: (m_1.ap31_ind OR (m_1.ap31_ind IS NULL))
  • Rows Removed by Filter: 13
12. 0.373 48.316 ↓ 7.1 446 1

Nested Loop Left Join (cost=4,590.08..5,320.15 rows=63 width=750) (actual time=45.877..48.316 rows=446 loops=1)

13. 0.173 47.943 ↓ 7.1 446 1

Nested Loop (cost=4,589.80..5,300.63 rows=63 width=91) (actual time=45.867..47.943 rows=446 loops=1)

14. 0.133 47.324 ↓ 6.9 446 1

Hash Join (cost=4,589.52..5,270.57 rows=65 width=91) (actual time=45.853..47.324 rows=446 loops=1)

  • Hash Cond: (s.course_instance_id = ci.course_instance_id)
15. 0.174 47.176 ↓ 1.1 446 1

Nested Loop (cost=4,584.99..5,264.90 rows=389 width=103) (actual time=45.824..47.176 rows=446 loops=1)

16. 0.405 46.556 ↓ 1.1 446 1

Hash Join (cost=4,584.71..4,641.58 rows=389 width=95) (actual time=45.812..46.556 rows=446 loops=1)

  • Hash Cond: (l_1.enrollment_id = scoring_item_submission.enrollment_id)
17. 1.226 37.140 ↑ 1.9 1,155 1

HashAggregate (cost=4,342.16..4,364.47 rows=2,231 width=312) (actual time=36.773..37.140 rows=1,155 loops=1)

  • Group Key: l_1.enterprise_enrollment_id, l_1.apro_enrollment_id, l_1.dp_person_id, l_1.enrollment_id, l_1.exam_intent_ind, l_1.permission_to_reuse, l_1.enrollment_role_id, l_1.status_id, l_1.section_id
18. 0.166 35.914 ↑ 1.3 1,727 1

Append (cost=1,404.77..4,291.96 rows=2,231 width=312) (actual time=5.790..35.914 rows=1,727 loops=1)

19. 0.684 12.579 ↓ 431.0 431 1

Nested Loop (cost=1,404.77..1,814.21 rows=1 width=71) (actual time=5.789..12.579 rows=431 loops=1)

  • Join Filter: (b.course_instance_id = m_2.course_instance_id)
  • Rows Removed by Join Filter: 742
20. 0.090 10.722 ↓ 146.6 1,173 1

Nested Loop (cost=1,404.48..1,790.67 rows=8 width=79) (actual time=5.772..10.722 rows=1,173 loops=1)

21. 0.320 5.891 ↓ 61.6 431 1

HashAggregate (cost=1,404.19..1,421.92 rows=7 width=24) (actual time=5.752..5.891 rows=431 loops=1)

  • Group Key: a_1.dp_person_id, b.course_instance_id
  • Filter: (count(*) = 1)
  • Rows Removed by Filter: 103
22. 0.198 5.571 ↑ 2.2 649 1

Hash Join (cost=1,004.01..1,393.56 rows=1,418 width=16) (actual time=3.881..5.571 rows=649 loops=1)

  • Hash Cond: (a_1.section_id = b.section_id)
23. 1.594 1.859 ↑ 2.2 649 1

Bitmap Heap Scan on enrollment a_1 (cost=139.56..525.39 rows=1,418 width=16) (actual time=0.295..1.859 rows=649 loops=1)

  • Recheck Cond: (apro_enrollment_id IS NOT NULL)
  • Filter: ((status_id = ANY ('{4,5}'::integer[])) AND (enrollment_role_id = 2))
  • Rows Removed by Filter: 5105
  • Heap Blocks: exact=237
24. 0.265 0.265 ↓ 1.2 6,636 1

Bitmap Index Scan on uk_apro_enrollment_id (cost=0.00..139.20 rows=5,722 width=0) (actual time=0.265..0.265 rows=6,636 loops=1)

  • Index Cond: (apro_enrollment_id IS NOT NULL)
25. 1.745 3.514 ↓ 1.0 11,352 1

Hash (cost=729.20..729.20 rows=10,820 width=16) (actual time=3.514..3.514 rows=11,352 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 661kB
26. 1.769 1.769 ↓ 1.0 11,352 1

Seq Scan on section b (cost=0.00..729.20 rows=10,820 width=16) (actual time=0.008..1.769 rows=11,352 loops=1)

27. 4.741 4.741 ↓ 3.0 3 431

Index Scan using ix_enrollment_person_id on enrollment l_1 (cost=0.29..52.66 rows=1 width=71) (actual time=0.002..0.011 rows=3 loops=431)

  • Index Cond: (dp_person_id = a_1.dp_person_id)
  • Filter: ((apro_enrollment_id IS NOT NULL) AND (status_id = ANY ('{4,5}'::integer[])) AND (status_id = ANY ('{4,5}'::integer[])) AND (enrollment_role_id = 2))
  • Rows Removed by Filter: 14
28. 1.173 1.173 ↑ 1.0 1 1,173

Index Scan using pk_section on section m_2 (cost=0.29..2.93 rows=1 width=16) (actual time=0.001..0.001 rows=1 loops=1,173)

  • Index Cond: (section_id = l_1.section_id)
29. 2.980 2.980 ↑ 3.6 612 1

Seq Scan on enrollment (cost=0.00..622.30 rows=2,229 width=71) (actual time=0.122..2.980 rows=612 loops=1)

  • Filter: ((apro_enrollment_id IS NULL) AND (status_id = ANY ('{4,5}'::integer[])) AND (status_id = ANY ('{4,5}'::integer[])) AND (enrollment_role_id = 2))
  • Rows Removed by Filter: 17908
30. 1.692 20.189 ↓ 684.0 684 1

Nested Loop (cost=1,405.34..1,821.99 rows=1 width=71) (actual time=6.790..20.189 rows=684 loops=1)

  • Join Filter: (b_1.course_instance_id = s_1.course_instance_id)
  • Rows Removed by Join Filter: 5255
31. 0.759 12.558 ↓ 989.8 5,939 1

Nested Loop (cost=1,405.05..1,816.82 rows=6 width=96) (actual time=6.772..12.558 rows=5,939 loops=1)

  • Join Filter: (a_2.dp_person_id = r.dp_person_id)
32. 0.126 9.399 ↓ 96.0 96 1

Nested Loop (cost=1,404.77..1,797.96 rows=1 width=95) (actual time=6.763..9.399 rows=96 loops=1)

  • Join Filter: (b_1.course_instance_id = m_3.course_instance_id)
  • Rows Removed by Join Filter: 168
33. 0.015 9.009 ↓ 264.0 264 1

Nested Loop (cost=1,404.48..1,790.67 rows=1 width=87) (actual time=6.753..9.009 rows=264 loops=1)

34. 0.265 6.809 ↓ 13.6 95 1

HashAggregate (cost=1,404.19..1,421.92 rows=7 width=24) (actual time=6.723..6.809 rows=95 loops=1)

  • Group Key: a_2.dp_person_id, b_1.course_instance_id
  • Filter: (count(*) = 2)
  • Rows Removed by Filter: 439
35. 0.199 6.544 ↑ 2.2 649 1

Hash Join (cost=1,004.01..1,393.56 rows=1,418 width=16) (actual time=5.238..6.544 rows=649 loops=1)

  • Hash Cond: (a_2.section_id = b_1.section_id)
36. 1.211 1.496 ↑ 2.2 649 1

Bitmap Heap Scan on enrollment a_2 (cost=139.56..525.39 rows=1,418 width=16) (actual time=0.315..1.496 rows=649 loops=1)

  • Recheck Cond: (apro_enrollment_id IS NOT NULL)
  • Filter: ((status_id = ANY ('{4,5}'::integer[])) AND (enrollment_role_id = 2))
  • Rows Removed by Filter: 5105
  • Heap Blocks: exact=237
37. 0.285 0.285 ↓ 1.2 6,636 1

Bitmap Index Scan on uk_apro_enrollment_id (cost=0.00..139.20 rows=5,722 width=0) (actual time=0.285..0.285 rows=6,636 loops=1)

  • Index Cond: (apro_enrollment_id IS NOT NULL)
38. 1.652 4.849 ↓ 1.0 11,352 1

Hash (cost=729.20..729.20 rows=10,820 width=16) (actual time=4.849..4.849 rows=11,352 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 661kB
39. 3.197 3.197 ↓ 1.0 11,352 1

Seq Scan on section b_1 (cost=0.00..729.20 rows=10,820 width=16) (actual time=0.007..3.197 rows=11,352 loops=1)

40. 2.185 2.185 ↓ 3.0 3 95

Index Scan using ix_enrollment_person_id on enrollment l_2 (cost=0.29..52.66 rows=1 width=71) (actual time=0.003..0.023 rows=3 loops=95)

  • Index Cond: (dp_person_id = a_2.dp_person_id)
  • Filter: ((apro_enrollment_id IS NOT NULL) AND (is_primary_ind IS TRUE) AND (status_id = ANY ('{4,5}'::integer[])) AND (status_id = ANY ('{4,5}'::integer[])) AND (enrollment_role_id = 2))
  • Rows Removed by Filter: 63
41. 0.264 0.264 ↑ 1.0 1 264

Index Scan using pk_section on section m_3 (cost=0.29..7.27 rows=1 width=16) (actual time=0.001..0.001 rows=1 loops=264)

  • Index Cond: (section_id = l_2.section_id)
42. 2.400 2.400 ↓ 10.3 62 96

Index Scan using ix_enrollment_person_id on enrollment r (cost=0.29..18.79 rows=6 width=17) (actual time=0.002..0.025 rows=62 loops=96)

  • Index Cond: (dp_person_id = l_2.dp_person_id)
  • Filter: (is_primary_ind IS FALSE)
  • Rows Removed by Filter: 3
43. 5.939 5.939 ↑ 1.0 1 5,939

Index Scan using pk_section on section s_1 (cost=0.29..0.85 rows=1 width=16) (actual time=0.001..0.001 rows=1 loops=5,939)

  • Index Cond: (section_id = r.section_id)
44. 3.202 9.011 ↓ 8.4 9,529 1

Hash (cost=228.40..228.40 rows=1,132 width=77) (actual time=9.011..9.011 rows=9,529 loops=1)

  • Buckets: 16384 (originally 2048) Batches: 1 (originally 1) Memory Usage: 1061kB
45. 1.549 5.809 ↓ 8.4 9,529 1

Nested Loop (cost=6.77..228.40 rows=1,132 width=77) (actual time=0.180..5.809 rows=9,529 loops=1)

46. 0.005 0.248 ↓ 3.4 17 1

Nested Loop (cost=6.48..17.63 rows=5 width=27) (actual time=0.123..0.248 rows=17 loops=1)

47. 0.005 0.005 ↑ 1.0 1 1

Seq Scan on education_period epc (cost=0.00..1.26 rows=1 width=4) (actual time=0.005..0.005 rows=1 loops=1)

  • Filter: (education_period_cd = $0)
  • Rows Removed by Filter: 20
48. 0.012 0.238 ↓ 3.4 17 1

Nested Loop (cost=6.48..16.32 rows=5 width=23) (actual time=0.117..0.238 rows=17 loops=1)

49. 0.012 0.209 ↓ 3.4 17 1

Nested Loop (cost=6.34..15.16 rows=5 width=15) (actual time=0.107..0.209 rows=17 loops=1)

50. 0.002 0.180 ↓ 3.4 17 1

Nested Loop (cost=6.20..14.11 rows=5 width=19) (actual time=0.097..0.180 rows=17 loops=1)

51. 0.005 0.144 ↓ 2.8 17 1

Nested Loop (cost=6.06..12.28 rows=6 width=15) (actual time=0.087..0.144 rows=17 loops=1)

52. 0.007 0.109 ↓ 2.5 10 1

Nested Loop (cost=5.92..9.49 rows=4 width=15) (actual time=0.078..0.109 rows=10 loops=1)

53. 0.041 0.087 ↓ 2.5 5 1

Hash Join (cost=5.78..7.54 rows=2 width=15) (actual time=0.069..0.087 rows=5 loops=1)

  • Hash Cond: (lower((c.course_cd)::text) = lower((ci_1.course_cd)::text))
54. 0.006 0.006 ↑ 1.0 46 1

Seq Scan on course c (cost=0.00..1.46 rows=46 width=2) (actual time=0.002..0.006 rows=46 loops=1)

55. 0.009 0.040 ↓ 2.5 5 1

Hash (cost=5.75..5.75 rows=2 width=15) (actual time=0.040..0.040 rows=5 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
56. 0.019 0.031 ↓ 2.5 5 1

Hash Join (cost=1.27..5.75 rows=2 width=15) (actual time=0.024..0.031 rows=5 loops=1)

  • Hash Cond: (ci_1.education_period_cd = ep.education_period_cd)
57. 0.005 0.005 ↓ 1.0 37 1

Seq Scan on course_instance ci_1 (cost=0.00..4.36 rows=36 width=14) (actual time=0.001..0.005 rows=37 loops=1)

58. 0.003 0.007 ↑ 1.0 1 1

Hash (cost=1.26..1.26 rows=1 width=9) (actual time=0.007..0.007 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
59. 0.004 0.004 ↑ 1.0 1 1

Seq Scan on education_period ep (cost=0.00..1.26 rows=1 width=9) (actual time=0.004..0.004 rows=1 loops=1)

  • Filter: ((ap_admin_yr)::text = ($2)::text)
  • Rows Removed by Filter: 20
60. 0.015 0.015 ↑ 1.0 2 5

Index Scan using ix_dp_module_course_instance_id on dp_module m (cost=0.14..0.96 rows=2 width=16) (actual time=0.003..0.003 rows=2 loops=5)

  • Index Cond: (course_instance_id = ci_1.course_instance_id)
61. 0.030 0.030 ↑ 1.0 2 10

Index Scan using ix_lesson_dp_module_id on lesson l (cost=0.14..0.68 rows=2 width=16) (actual time=0.002..0.003 rows=2 loops=10)

  • Index Cond: (dp_module_id = m.dp_module_id)
  • Filter: ((submission_type)::text = 'Individual'::text)
  • Rows Removed by Filter: 0
62. 0.034 0.034 ↑ 1.0 1 17

Index Scan using ix_assignment_lesson_id on assignment aa (cost=0.14..0.29 rows=1 width=20) (actual time=0.001..0.002 rows=1 loops=17)

  • Index Cond: (lesson_id = l.lesson_id)
63. 0.017 0.017 ↑ 1.0 1 17

Index Only Scan using pk_assignment_type on assignment_type at (cost=0.14..0.22 rows=1 width=4) (actual time=0.001..0.001 rows=1 loops=17)

  • Index Cond: (assignment_type_id = aa.assignment_type_id)
  • Heap Fetches: 0
64. 0.017 0.017 ↑ 1.0 1 17

Index Only Scan using pk_assignment on assignment a (cost=0.14..0.23 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=17)

  • Index Cond: (assignment_id = aa.assignment_id)
  • Heap Fetches: 17
65. 4.012 4.012 ↑ 1.3 561 17

Index Scan using ix_sis_assignment_enrollment on scoring_item_submission (cost=0.29..34.76 rows=739 width=66) (actual time=0.003..0.236 rows=561 loops=17)

  • Index Cond: (assignment_id = a.assignment_id)
  • Filter: (submission_status_id <> 6)
  • Rows Removed by Filter: 13
66. 0.446 0.446 ↑ 1.0 1 446

Index Scan using pk_section on section s (cost=0.29..1.60 rows=1 width=24) (actual time=0.001..0.001 rows=1 loops=446)

  • Index Cond: (section_id = l_1.section_id)
67. 0.004 0.015 ↑ 1.2 5 1

Hash (cost=4.45..4.45 rows=6 width=12) (actual time=0.015..0.015 rows=5 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
68. 0.011 0.011 ↑ 1.2 5 1

Seq Scan on course_instance ci (cost=0.00..4.45 rows=6 width=12) (actual time=0.005..0.011 rows=5 loops=1)

  • Filter: (education_period_cd = $0)
  • Rows Removed by Filter: 32
69. 0.446 0.446 ↑ 1.0 1 446

Index Scan using pk_dp_person on dp_person p (cost=0.28..0.46 rows=1 width=8) (actual time=0.001..0.001 rows=1 loops=446)

  • Index Cond: (dp_person_id = l_1.dp_person_id)
  • Filter: (NOT test_ind)
70. 0.000 0.000 ↓ 0.0 0 446

Index Scan using pk_upload on upload u (cost=0.28..0.31 rows=1 width=675) (actual time=0.000..0.000 rows=0 loops=446)

  • Index Cond: (upload_id = scoring_item_submission.upload_id)
71. 0.102 0.523 ↑ 1.4 536 1

Hash (cost=33.82..33.82 rows=741 width=41) (actual time=0.523..0.523 rows=536 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 47kB
72. 0.124 0.421 ↑ 1.4 536 1

Hash Join (cost=4.97..33.82 rows=741 width=41) (actual time=0.117..0.421 rows=536 loops=1)

  • Hash Cond: ((mv.metadata_id = atm.metadata_id) AND (mv.assignment_type_id = atm.assignment_type_id))
73. 0.163 0.242 ↑ 1.4 536 1

Hash Join (cost=1.65..20.12 rows=741 width=36) (actual time=0.048..0.242 rows=536 loops=1)

  • Hash Cond: ((mv.metadata_id = mvr.metadata_id) AND (mv.value_range_id = mvr.value_range_id))
74. 0.056 0.056 ↑ 1.0 733 1

Seq Scan on metadata_value mv (cost=0.00..14.41 rows=741 width=25) (actual time=0.008..0.056 rows=733 loops=1)

75. 0.015 0.023 ↑ 1.0 26 1

Hash (cost=1.26..1.26 rows=26 width=19) (actual time=0.023..0.023 rows=26 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
76. 0.008 0.008 ↑ 1.0 26 1

Seq Scan on metadata_value_range mvr (cost=0.00..1.26 rows=26 width=19) (actual time=0.004..0.008 rows=26 loops=1)

77. 0.005 0.055 ↑ 1.0 4 1

Hash (cost=3.26..3.26 rows=4 width=29) (actual time=0.055..0.055 rows=4 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
78. 0.014 0.050 ↑ 1.0 4 1

Hash Join (cost=2.18..3.26 rows=4 width=29) (actual time=0.048..0.050 rows=4 loops=1)

  • Hash Cond: (m_1.metadata_type_id = mt.metadata_type_id)
79. 0.018 0.029 ↑ 1.0 4 1

Hash Join (cost=1.09..2.15 rows=4 width=33) (actual time=0.028..0.029 rows=4 loops=1)

  • Hash Cond: (atm.metadata_id = m_1.metadata_id)
80. 0.002 0.002 ↑ 1.0 4 1

Seq Scan on assignment_type_metadata atm (cost=0.00..1.04 rows=4 width=8) (actual time=0.002..0.002 rows=4 loops=1)

81. 0.005 0.009 ↑ 1.0 4 1

Hash (cost=1.04..1.04 rows=4 width=25) (actual time=0.009..0.009 rows=4 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
82. 0.004 0.004 ↑ 1.0 4 1

Seq Scan on metadata m_1 (cost=0.00..1.04 rows=4 width=25) (actual time=0.003..0.004 rows=4 loops=1)

83. 0.003 0.007 ↑ 1.0 4 1

Hash (cost=1.04..1.04 rows=4 width=4) (actual time=0.007..0.007 rows=4 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
84. 0.004 0.004 ↑ 1.0 4 1

Seq Scan on metadata_type mt (cost=0.00..1.04 rows=4 width=4) (actual time=0.003..0.004 rows=4 loops=1)

85. 0.022 0.041 ↓ 1.2 129 1

Hash (cost=3.11..3.11 rows=111 width=16) (actual time=0.040..0.041 rows=129 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
86. 0.019 0.019 ↓ 1.2 129 1

Seq Scan on assignment x (cost=0.00..3.11 rows=111 width=16) (actual time=0.003..0.019 rows=129 loops=1)

87. 0.021 0.045 ↓ 1.0 129 1

Hash (cost=9.27..9.27 rows=127 width=16) (actual time=0.044..0.045 rows=129 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
88. 0.024 0.024 ↓ 1.0 129 1

Seq Scan on lesson y (cost=0.00..9.27 rows=127 width=16) (actual time=0.003..0.024 rows=129 loops=1)

89. 0.012 0.027 ↑ 1.1 75 1

Hash (cost=5.81..5.81 rows=81 width=8) (actual time=0.027..0.027 rows=75 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
90. 0.015 0.015 ↑ 1.1 75 1

Seq Scan on dp_module z (cost=0.00..5.81 rows=81 width=8) (actual time=0.003..0.015 rows=75 loops=1)