← К оглавлению занятия

🐛 Ошибки

📁 Блок: SQL / MySQL / Повторение индексов и функций ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение

⚡ Кратко: 🐛 ошибки

Summary session 11 соединяет два блока: индексы и пользовательские функции.

Индекс ускоряет поиск, сортировку или группировку, но занимает место и замедляет изменения данных.

EXPLAIN показывает план выполнения и помогает проверить, использует ли MySQL индекс.

Пользовательская функция создаётся через CREATE FUNCTION и возвращает одно значение через RETURN.

Минимальный пример повторения: CREATE INDEX idx_age ON employees(age); и SELECT square_root(25);.

Топ-3 ошибки: индексировать всё подряд, не смотреть EXPLAIN, путать функцию с процедурой.

🐛 Типичные ошибки

1

Индекс создан без проверки EXPLAIN

Симптом: Непонятно, помог ли он запросу.

Исправление: Сравните план до и после индекса.

2

Индексируются все столбцы подряд

Симптом: INSERT, UPDATE и DELETE становятся тяжелее.

Исправление: Индексируйте только частые фильтры, сортировки и группировки.

3

Составной индекс не совпадает с запросом

Симптом: Ожидаемого ускорения нет.

Исправление: Составляйте индекс под реальные условия и порядок сортировки.

4

Функция используется для процесса

Симптом: Ожидаются изменения в таблицах, но функция возвращает одно значение.

Исправление: Для многошаговых действий переходите к хранимым процедурам.