Встречается на собеседованиях • сегодня
Зачем нужны индексы в БД
Индексы — это специальные структуры данных, которые ускоряют поиск, сортировку и соединение таблиц, но замедляют операции записи (INSERT, UPDATE, DELETE).
Зачем они нужны?
- - Ускорение поиска (WHERE)
Без индекса база данных перебирает все строки (полное сканирование). С индексом — находит нужные данные мгновенно, как по оглавлению в книге. - - Ускорение сортировки (ORDER BY)
Индексы хранят данные в отсортированном виде, что ускоряет запросы с сортировкой. - - Ускорение соединений (JOIN)
Индексы на внешних ключах (foreign key) ускоряют связывание таблиц. - - Гарантия уникальности (UNIQUE INDEX)
Запрещают дублирование значений в столбце (например, уникальный email пользователя).
Когда индексы не нужны?
- - На маленьких таблицах (выгода минимальна).
- - На столбцах с низкой селективностью (например, пол "муж/жен").
- - На столбцах, которые часто обновляются (индексы замедляют запись).
Пример на SQL
text
-- Создаём индекс для ускорения поиска по email
CREATE INDEX idx_users_email ON users(email);
-- Теперь этот запрос будет работать быстрее
SELECT * FROM users WHERE email = 'test@example.com';Вывод: Индексы — это компромисс между скоростью чтения и записи. Используйте их осознанно, где поиск важнее частоты обновлений!
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
