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

Что такое низкая селективность в базе данных

Низкая селективность означает, что индекс или условие запроса возвращает слишком много строк по сравнению с общим количеством записей в таблице. Это снижает эффективность индекса, так как СУБД может решить выполнить полное сканирование таблицы вместо использования индекса.

Пример: если в таблице users 1 млн записей, а индекс на поле is_active (где 90% значений true), запрос SELECT * FROM users WHERE is_active = true будет иметь низкую селективность. Индекс здесь мало поможет.

sql
-- Плохо (низкая селективность)
CREATE INDEX idx_active ON users(is_active);

-- Лучше (высокая селективность)
CREATE INDEX idx_email ON users(email);

Низкая селективность часто встречается у булевых полей, полей с малым количеством уникальных значений (например, gender). В таких случаях стоит рассмотреть другие критерии для индексации.

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

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

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

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