Селективность колонки в базе данных — это отношение уникальных значений в столбце к общему количеству значений. ==Чем больше уникальных значений, тем выше селективность.== Селективность выражается значением от 0 до 1, где 0 означает отсутствие селективности, а 1 — идеальную селективность.
Высокая селективность делает колонку отличным кандидатом для [[Индекс базы данных|индексирования]], так как это уменьшает количество строк для просмотра и ускоряет поиск. Например, колонка с уникальными идентификаторами пользователей позволяет значительно улучшить производительность запросов.
Низкая селективность означает много повторяющихся значений. Например, колонка с полом пользователя ("мужской" и "женский"). Индекс на таком столбце обычно малоэффективен, но может быть полезен при использовании с другими более селективными колонками. Это помогает уменьшить объем данных для сканирования.
Также индексы на низкоселективных колонках могут ускорить выборку редких записей, например, необработанных данных.
```sql
SELECT * FROM records WHERE processed = false;
```
Если большинство записей уже обработаны, такой индекс может значительно ускорить запрос.