Коли індекс допомагає
- Колонки у
WHERE, JOIN ON, ORDER BY, GROUP BY - Колонки з високою кардинальністю (багато унікальних значень) — ідеально для email, uuid
Коли індекс шкодить
- Таблиці з частими INSERT/UPDATE/DELETE — кожна зміна оновлює індекс
- Колонки з низькою кардинальністю (boolean, status з 3 значень) — MySQL може вибрати full scan замість індексу
Складові індекси
Індекс (a, b, c) використовується зліва направо: запит з WHERE a = 1 AND b = 2 використає індекс, а WHERE b = 2 — ні. Правило лівого префіксу.