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

Когда индексы в БД неэффективны

Индексы могут быть неэффективны в следующих случаях:

  1. Частые операции записи (INSERT/UPDATE/DELETE) – индексы замедляют их, так как требуют обновления структуры данных.

  2. Маленькие таблицы – полное сканирование может быть быстрее, чем поиск по индексу.

  1. Низкая селективность данных – если у столбца мало уникальных значений (например, пол "М/Ж"), индекс не даст преимущества.

  2. Использование функций в условиях WHEREWHERE UPPER(name) = 'IVAN' не использует индекс по name.

  3. Несоответствие типа данных – сравнение строки с числом WHERE id = '123' может игнорировать индекс.

Пример неэффективного индекса:

sql
-- Плохо: индекс не поможет из-за функции
SELECT * FROM users WHERE DATE(created_at) = '2023-01-01';

-- Лучше: использовать диапазон
SELECT * FROM users 
WHERE created_at >= '2023-01-01' AND created_at < '2023-01-02';
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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