explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UTlU : Optimization for: plan #pMO

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 2.342 84.464 ↓ 1.3 5,027 1

Unique (cost=9,360.94..9,625.20 rows=3,915 width=1,204) (actual time=81.752..84.464 rows=5,027 loops=1)

2. 4.570 82.122 ↓ 1.3 5,027 1

Sort (cost=9,360.94..9,370.73 rows=3,915 width=1,204) (actual time=81.751..82.122 rows=5,027 loops=1)

  • Sort Key: scoring_item_submission.sis_id, l_1.enterprise_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), ep.ap_admin_yr, 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, scoring_item_submission.enrollment_id, p.dp_person_id, s.enterprise_org_id
  • Sort Method: quicksort Memory: 1974kB
3. 5.296 77.552 ↓ 1.3 5,027 1

Hash Left Join (cost=6,570.27..7,065.82 rows=3,915 width=1,204) (actual time=57.783..77.552 rows=5,027 loops=1)

  • Hash Cond: (y.dp_module_id = z.dp_module_id)
4. 4.015 72.228 ↓ 1.3 5,027 1

Hash Left Join (cost=6,563.45..6,999.25 rows=3,915 width=1,072) (actual time=57.725..72.228 rows=5,027 loops=1)

  • Hash Cond: (x.lesson_id = y.lesson_id)
5. 1.702 68.166 ↓ 1.3 5,027 1

Hash Left Join (cost=6,552.59..6,977.77 rows=3,915 width=1,064) (actual time=57.662..68.166 rows=5,027 loops=1)

  • Hash Cond: (scoring_item_submission.assignment_id = x.assignment_id)
6. 1.755 66.421 ↓ 1.3 5,027 1

Hash Left Join (cost=6,548.09..6,962.60 rows=3,915 width=1,056) (actual time=57.603..66.421 rows=5,027 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: 76
7. 1.609 63.935 ↑ 1.6 5,027 1

Hash Left Join (cost=6,505.01..6,858.54 rows=7,830 width=1,024) (actual time=56.855..63.935 rows=5,027 loops=1)

  • Hash Cond: (scoring_item_submission.upload_id = u.upload_id)
8. 1.784 60.979 ↑ 1.6 5,027 1

Hash Join (cost=6,385.26..6,718.24 rows=7,830 width=365) (actual time=55.477..60.979 rows=5,027 loops=1)

  • Hash Cond: (scoring_item_submission.assignment_id = a.assignment_id)
9. 2.543 58.463 ↑ 1.7 5,031 1

Hash Join (cost=6,345.33..6,568.67 rows=8,357 width=358) (actual time=54.732..58.463 rows=5,031 loops=1)

  • Hash Cond: (l_1.enrollment_id = scoring_item_submission.enrollment_id)
10. 0.489 43.928 ↑ 1.9 1,155 1

Hash Join (cost=5,368.28..5,424.43 rows=2,158 width=300) (actual time=42.611..43.928 rows=1,155 loops=1)

  • Hash Cond: (l_1.section_id = s.section_id)
11. 0.485 39.709 ↑ 1.9 1,155 1

Hash Join (cost=4,503.83..4,554.32 rows=2,158 width=300) (actual time=38.808..39.709 rows=1,155 loops=1)

  • Hash Cond: (l_1.dp_person_id = p.dp_person_id)
12. 1.449 38.026 ↑ 1.9 1,155 1

HashAggregate (cost=4,342.16..4,364.47 rows=2,231 width=312) (actual time=37.573..38.026 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
13. 0.193 36.577 ↑ 1.3 1,727 1

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

14. 0.524 10.525 ↓ 426.0 426 1

Nested Loop (cost=1,404.77..1,814.21 rows=1 width=71) (actual time=5.381..10.525 rows=426 loops=1)

  • Join Filter: (b.course_instance_id = m_2.course_instance_id)
  • Rows Removed by Join Filter: 734
15. 0.342 8.841 ↓ 145.0 1,160 1

Nested Loop (cost=1,404.48..1,790.67 rows=8 width=79) (actual time=5.365..8.841 rows=1,160 loops=1)

16. 0.360 5.517 ↓ 60.9 426 1

HashAggregate (cost=1,404.19..1,421.92 rows=7 width=24) (actual time=5.345..5.517 rows=426 loops=1)

  • Group Key: a_1.dp_person_id, b.course_instance_id
  • Filter: (count(*) = 1)
  • Rows Removed by Filter: 103
17. 0.232 5.157 ↑ 2.2 644 1

Hash Join (cost=1,004.01..1,393.56 rows=1,418 width=16) (actual time=3.862..5.157 rows=644 loops=1)

  • Hash Cond: (a_1.section_id = b.section_id)
18. 1.159 1.430 ↑ 2.2 644 1

Bitmap Heap Scan on enrollment a_1 (cost=139.56..525.39 rows=1,418 width=16) (actual time=0.299..1.430 rows=644 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
19. 0.271 0.271 ↓ 1.2 6,628 1

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

  • Index Cond: (apro_enrollment_id IS NOT NULL)
20. 1.683 3.495 ↓ 1.0 11,338 1

Hash (cost=729.20..729.20 rows=10,820 width=16) (actual time=3.494..3.495 rows=11,338 loops=1)

  • Buckets: 16384 Batches: 1 Memory Usage: 660kB
21. 1.812 1.812 ↓ 1.0 11,338 1

Seq Scan on section b (cost=0.00..729.20 rows=10,820 width=16) (actual time=0.004..1.812 rows=11,338 loops=1)

22. 2.982 2.982 ↓ 3.0 3 426

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.007 rows=3 loops=426)

  • 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
23. 1.160 1.160 ↑ 1.0 1 1,160

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,160)

  • Index Cond: (section_id = l_1.section_id)
24. 3.281 3.281 ↑ 3.6 617 1

Seq Scan on enrollment (cost=0.00..622.30 rows=2,229 width=71) (actual time=0.139..3.281 rows=617 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: 17872
25. 4.853 22.578 ↓ 684.0 684 1

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

  • Join Filter: (b_1.course_instance_id = s_1.course_instance_id)
  • Rows Removed by Join Filter: 5255
26. 1.419 11.786 ↓ 989.8 5,939 1

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

  • Join Filter: (a_2.dp_person_id = r.dp_person_id)
27. 0.137 7.871 ↓ 96.0 96 1

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

  • Join Filter: (b_1.course_instance_id = m_3.course_instance_id)
  • Rows Removed by Join Filter: 168
28. 0.086 7.470 ↓ 264.0 264 1

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

29. 0.281 5.294 ↓ 13.6 95 1

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

  • Group Key: a_2.dp_person_id, b_1.course_instance_id
  • Filter: (count(*) = 2)
  • Rows Removed by Filter: 434
30. 0.256 5.013 ↑ 2.2 644 1

Hash Join (cost=1,004.01..1,393.56 rows=1,418 width=16) (actual time=3.836..5.013 rows=644 loops=1)

  • Hash Cond: (a_2.section_id = b_1.section_id)
31. 1.030 1.294 ↑ 2.2 644 1

Bitmap Heap Scan on enrollment a_2 (cost=139.56..525.39 rows=1,418 width=16) (actual time=0.292..1.294 rows=644 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
32. 0.264 0.264 ↓ 1.2 6,628 1

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

  • Index Cond: (apro_enrollment_id IS NOT NULL)
33. 1.684 3.463 ↓ 1.0 11,338 1

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

  • Buckets: 16384 Batches: 1 Memory Usage: 660kB
34. 1.779 1.779 ↓ 1.0 11,338 1

Seq Scan on section b_1 (cost=0.00..729.20 rows=10,820 width=16) (actual time=0.005..1.779 rows=11,338 loops=1)

35. 2.090 2.090 ↓ 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.022 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
36. 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)
37. 2.496 2.496 ↓ 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.026 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
38. 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)
39. 0.502 1.198 ↑ 1.0 3,576 1

Hash (cost=116.97..116.97 rows=3,576 width=8) (actual time=1.198..1.198 rows=3,576 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 172kB
40. 0.696 0.696 ↑ 1.0 3,576 1

Seq Scan on dp_person p (cost=0.00..116.97 rows=3,576 width=8) (actual time=0.007..0.696 rows=3,576 loops=1)

  • Filter: (NOT test_ind)
  • Rows Removed by Filter: 121
41. 1.738 3.730 ↓ 1.0 11,338 1

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

  • Buckets: 16384 Batches: 1 Memory Usage: 660kB
42. 1.992 1.992 ↓ 1.0 11,338 1

Seq Scan on section s (cost=0.00..729.20 rows=10,820 width=16) (actual time=0.008..1.992 rows=11,338 loops=1)

43. 5.407 11.992 ↑ 1.0 24,976 1

Hash (cost=663.05..663.05 rows=25,120 width=66) (actual time=11.992..11.992 rows=24,976 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 2418kB
44. 6.585 6.585 ↓ 1.0 25,185 1

Seq Scan on scoring_item_submission (cost=0.00..663.05 rows=25,120 width=66) (actual time=0.005..6.585 rows=25,185 loops=1)

  • Filter: (submission_status_id <> 6)
  • Rows Removed by Filter: 671
45. 0.049 0.732 ↓ 1.2 121 1

Hash (cost=38.63..38.63 rows=104 width=23) (actual time=0.732..0.732 rows=121 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
46. 0.050 0.683 ↓ 1.2 121 1

Hash Join (cost=31.91..38.63 rows=104 width=23) (actual time=0.350..0.683 rows=121 loops=1)

  • Hash Cond: (aa.assignment_id = a.assignment_id)
47. 0.143 0.591 ↓ 1.2 121 1

Hash Join (cost=27.42..33.85 rows=104 width=15) (actual time=0.296..0.591 rows=121 loops=1)

  • Hash Cond: (lower((ci.course_cd)::text) = lower((c.course_cd)::text))
48. 0.042 0.367 ↓ 1.2 121 1

Hash Join (cost=25.38..30.12 rows=104 width=15) (actual time=0.200..0.367 rows=121 loops=1)

  • Hash Cond: (ci.education_period_cd = ep.education_period_cd)
49. 0.046 0.312 ↓ 1.2 121 1

Hash Join (cost=23.91..28.32 rows=104 width=14) (actual time=0.175..0.312 rows=121 loops=1)

  • Hash Cond: (m.course_instance_id = ci.course_instance_id)
50. 0.040 0.243 ↓ 1.2 121 1

Hash Join (cost=19.10..23.20 rows=104 width=16) (actual time=0.138..0.243 rows=121 loops=1)

  • Hash Cond: (aa.assignment_type_id = at.assignment_type_id)
51. 0.042 0.196 ↓ 1.2 121 1

Hash Join (cost=17.90..21.59 rows=104 width=20) (actual time=0.119..0.196 rows=121 loops=1)

  • Hash Cond: (l.dp_module_id = m.dp_module_id)
52. 0.051 0.124 ↓ 1.2 121 1

Hash Join (cost=11.08..14.49 rows=104 width=20) (actual time=0.076..0.124 rows=121 loops=1)

  • Hash Cond: (aa.lesson_id = l.lesson_id)
53. 0.015 0.015 ↓ 1.2 129 1

Seq Scan on assignment aa (cost=0.00..3.11 rows=111 width=20) (actual time=0.003..0.015 rows=129 loops=1)

54. 0.020 0.058 ↓ 1.0 121 1

Hash (cost=9.59..9.59 rows=119 width=16) (actual time=0.058..0.058 rows=121 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
55. 0.038 0.038 ↓ 1.0 121 1

Seq Scan on lesson l (cost=0.00..9.59 rows=119 width=16) (actual time=0.003..0.038 rows=121 loops=1)

  • Filter: ((submission_type)::text = 'Individual'::text)
  • Rows Removed by Filter: 8
56. 0.013 0.030 ↑ 1.1 75 1

Hash (cost=5.81..5.81 rows=81 width=16) (actual time=0.030..0.030 rows=75 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 12kB
57. 0.017 0.017 ↑ 1.1 75 1

Seq Scan on dp_module m (cost=0.00..5.81 rows=81 width=16) (actual time=0.003..0.017 rows=75 loops=1)

58. 0.004 0.007 ↑ 1.0 9 1

Hash (cost=1.09..1.09 rows=9 width=4) (actual time=0.006..0.007 rows=9 loops=1)

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

Seq Scan on assignment_type at (cost=0.00..1.09 rows=9 width=4) (actual time=0.002..0.003 rows=9 loops=1)

60. 0.008 0.023 ↓ 1.0 37 1

Hash (cost=4.36..4.36 rows=36 width=14) (actual time=0.023..0.023 rows=37 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
61. 0.015 0.015 ↓ 1.0 37 1

Seq Scan on course_instance ci (cost=0.00..4.36 rows=36 width=14) (actual time=0.004..0.015 rows=37 loops=1)

62. 0.006 0.013 ↑ 1.0 21 1

Hash (cost=1.21..1.21 rows=21 width=9) (actual time=0.012..0.013 rows=21 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
63. 0.007 0.007 ↑ 1.0 21 1

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

64. 0.074 0.081 ↑ 1.0 46 1

Hash (cost=1.46..1.46 rows=46 width=2) (actual time=0.080..0.081 rows=46 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
65. 0.007 0.007 ↑ 1.0 46 1

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

66. 0.021 0.042 ↓ 1.2 129 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
67. 0.021 0.021 ↓ 1.2 129 1

Seq Scan on assignment a (cost=0.00..3.11 rows=111 width=8) (actual time=0.004..0.021 rows=129 loops=1)

68. 0.744 1.347 ↓ 1.0 2,349 1

Hash (cost=91.00..91.00 rows=2,300 width=675) (actual time=1.347..1.347 rows=2,349 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 482kB
69. 0.603 0.603 ↓ 1.0 2,349 1

Seq Scan on upload u (cost=0.00..91.00 rows=2,300 width=675) (actual time=0.008..0.603 rows=2,349 loops=1)

70. 0.145 0.731 ↑ 1.4 536 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 47kB
71. 0.209 0.586 ↑ 1.4 536 1

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

  • Hash Cond: ((mv.metadata_id = atm.metadata_id) AND (mv.assignment_type_id = atm.assignment_type_id))
72. 0.238 0.323 ↑ 1.4 536 1

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

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

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

74. 0.009 0.016 ↑ 1.0 26 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
75. 0.007 0.007 ↑ 1.0 26 1

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

76. 0.003 0.054 ↑ 1.0 4 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
77. 0.016 0.051 ↑ 1.0 4 1

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

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

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

  • Hash Cond: (atm.metadata_id = m_1.metadata_id)
79. 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)

80. 0.004 0.008 ↑ 1.0 4 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
81. 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)

82. 0.004 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
83. 0.003 0.003 ↑ 1.0 4 1

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

84. 0.023 0.043 ↓ 1.2 129 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
85. 0.020 0.020 ↓ 1.2 129 1

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

86. 0.022 0.047 ↓ 1.0 129 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 15kB
87. 0.025 0.025 ↓ 1.0 129 1

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

88. 0.013 0.028 ↑ 1.1 75 1

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

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
89. 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)