Ошибка 1. Индексируют всё подряд
Симптом: После каждого INSERT/UPDATE база вынуждена обновлять много индексов.
Исправление: Создавайте индексы под реальные частые запросы.
Оптимизация запросов нужна, чтобы уменьшить время выполнения и расход ресурсов базы данных.
Главный инструмент урока — индекс: структура данных, которая помогает быстрее находить строки без полного просмотра таблицы.
Ключевые команды: 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, ждать пользы от индекса на очень маленькой таблице.
Симптом: После каждого INSERT/UPDATE база вынуждена обновлять много индексов.
Исправление: Создавайте индексы под реальные частые запросы.
Симптом: Индекс создан, но запрос может его не использовать.
Исправление: Сравнивайте план выполнения до и после индекса.
Симптом: На небольшой таблице полный просмотр может быть дешевле.
Исправление: Оценивайте размер таблицы и частоту запроса.
Симптом: Обычный индекс не запрещает дубликаты.
Исправление: Для уникальности используйте UNIQUE INDEX или ограничение уникальности.
Симптом: Индекс по нескольким столбцам может не помочь нужному запросу.
Исправление: Согласуйте порядок столбцов индекса с частыми условиями, сортировками и группировками.