Ответ
Индекс — это структура данных, ускоряющая поиск и сортировку в таблицах БД. Он работает как оглавление в книге, позволяя СУБД быстро находить строки без полного сканирования таблицы.
Типы индексов:
- B-tree (балансированное дерево) — стандартный индекс для равенства и диапазонов.
- Hash — только для точного совпадения (например,
WHERE id = 5). - Составной — по нескольким столбцам.
Пример создания индекса в SQL:
-- Создание индекса для столбца email
CREATE INDEX idx_email ON users(email);
-- Составной индекс
CREATE INDEX idx_name_age ON employees(last_name, age);
Плюсы:
- Ускорение
SELECT,JOIN,WHERE,ORDER BY. - Поддержка уникальности (
UNIQUE INDEX).
Минусы:
- Замедление
INSERT/UPDATE/DELETE(индекс нужно перестраивать). - Дополнительное место на диске.
Важно: Индексы стоит добавлять на часто запрашиваемые столбцы, участвующие в условиях поиска. Избыточные индексы ухудшают производительность.
Видео-ответы
▶
▶
▶
▶
▶
▶