Skip to content

ysobko/Assignment2-Optimization.MySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Assignment2-Optimization.MySQL

Огляд:

Цей проєкт демонструє покрокову оптимізацію складного SQL-запиту.

Використано набір даних 'Student Study Performance' з сайту Kaggle. Таблиця містить інформацію про бали студентів з математики, читання та письма,стать, етнічну групу, рівень освіти батьків та проходження підготовчого курсу.

Крок 1: Початковий запит:

Містить вкладені підзапити й JOIN, що ускладнювало читання й сповільнювало роботу.

Крок 2: Оптимізований варіант (з CTE):

  • Замість вкладених підзапитів використано CTE:
    • TopParentalEducation — 2 найпоширеніші рівні освіти батьків
    • OverallAvgMath — загальний середній бал з математики
    • FilteredStudents — фільтровані записи студентів
  • Покращено читабельність і логічну структуру запиту

Крок 3: Індексація

Створено індекси: ON study_performance(test_preparation_course) - цей індекс допомагає швидко відфільтрувати записи студентів, які пройшли підготовчий курс

ON study_performance(parental_level_of_education) - прискорює пошук за рівнем освіти батьків, зокрема при фільтрації по двох найпоширеніших значеннях цього поля.

ON study_performance(gender, race_ethnicity) - оптимізує операцію групування за gender і race_ethnicity.

ON study_performance(math_score) - допомагає ефективніше виконувати умову у HAVING AVG(math_score) > ..., а також пришвидшує обчислення середнього балу з математики.

В результаті зменшено повні перегляди таблиці, покращено фільтрацію та швидкодію.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors