Встречается на собеседованиях • сегодня

Как работает индекс в SQL

Индекс в SQL — это структура данных, которая ускоряет поиск и сортировку в таблице, аналогично оглавлению в книге. Он создаётся на одном или нескольких столбцах и хранит отсортированные значения с указателями на соответствующие строки.

Типы индексов:

  • B-tree (по умолчанию) — для равенства и диапазонов (=, >, <).
  • Hash — только для точного совпадения (=).
  • GIN/GiST — для сложных данных (JSON, массивы).

Пример создания:

sql
CREATE INDEX idx_user_email ON users(email);  -- Ускорит WHERE email = 'test@test.com'

Нюансы:

  1. Замедление записи — индексы обновляются при INSERT/UPDATE/DELETE.
  2. Выбор столбцов — индексируйте часто используемые в WHERE/JOIN.
  3. Композитные индексы — порядок столбцов важен ((a, b)(b, a)).

Плохая практика:

sql
SELECT * FROM users WHERE LOWER(email) = 'test@test.com';  -- Индекс не сработает из-за функции

Оптимальное использование индексов — баланс между скоростью чтения и затратами на обновление.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы