Встречается на собеседованиях • сегодня
Почему не стоит делать индекс у всех столбцов в таблице в БД
Создание индексов для всех столбцов в таблице может привести к нескольким проблемам:
- Замедление операций записи – при вставке, обновлении или удалении данных индексы также обновляются, что увеличивает нагрузку.
- Увеличение размера БД – индексы занимают дополнительное место на диске.
- Избыточность – не все столбцы используются в запросах (WHERE, JOIN, ORDER BY), поэтому индексы для них бесполезны.
- Оптимизатор запросов может запутаться – слишком много индексов усложняют выбор оптимального плана выполнения.
Пример:
sql
-- Плохо: индексы на все столбцы
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100) INDEX,
email VARCHAR(100) INDEX,
age INT INDEX,
created_at TIMESTAMP INDEX
);
-- Лучше: индексировать только часто используемые поля
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100) INDEX, -- часто ищут по email
age INT,
created_at TIMESTAMP INDEX -- часто сортируют по дате
);Оптимально добавлять индексы только для столбцов, участвующих в условиях фильтрации, сортировки или соединения.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы