← К оглавлению занятия
⚡ Кратко: домашка
Оптимизация запросов нужна, чтобы уменьшить время выполнения и расход ресурсов базы данных.
Главный инструмент урока — индекс: структура данных, которая помогает быстрее находить строки без полного просмотра таблицы.
Ключевые команды: CREATE INDEX, CREATE UNIQUE INDEX, CREATE FULLTEXT INDEX, EXPLAIN.
Минимальный пример: CREATE INDEX idx_students_age ON students(age), затем EXPLAIN SELECT * FROM students WHERE age = 20.
Индекс полезен для частых фильтров, сортировок и группировок, но он занимает место и замедляет вставку, обновление и удаление.
Топ-3 ошибки: индексировать все столбцы подряд, не проверять план через EXPLAIN, ждать пользы от индекса на очень маленькой таблице.
🏠 Домашнее задание
В источнике отдельное LMS-домашнее задание не приведено, но практическая работа подходит как закрепление после занятия.
- Создать таблицу
students и заполнить её тестовыми строками.
- Выполнить
EXPLAIN SELECT * FROM students WHERE age = 20 до создания индекса.
- Создать индекс
idx_students_age и повторить EXPLAIN.
- Сравнить планы и записать, появился ли индекс в выводе.
Пошаговое решение и проверка
Проверка до и после индекса
EXPLAIN
SELECT *
FROM students
WHERE age = 20;
CREATE INDEX idx_students_age ON students (age);
EXPLAIN
SELECT *
FROM students
WHERE age = 20;
Главная цель — увидеть, меняется ли план выполнения после появления индекса.