Селективность индекса — ключевая метрика в крупномасштабных системах баз данных, помогающая определить эффективность индекса в фильтрации результатов запроса. Он измеряет уникальность значений, хранящихся в столбце, относительно общего количества строк в таблице. Понимание того, как вычислять селективность индекса, может оптимизировать производительность запроса и улучшить дизайн базы данных.

Понимание селективности индекса

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

Расчет селективности индекса

Основная формула для селективности индексов:

Селективность индекса = количество уникальных значений / общее количество рядов

Например, если таблица имеет 10 000 строк, а столбец имеет 1000 уникальных значений, то селективность:

0.1 или 10%

Последствия избирательности

Высокая избирательность (близкая к 1) указывает на то, что индекс, вероятно, значительно улучшит производительность запроса, особенно для поиска равенства. Низкая избирательность предполагает, что индекс может быть не столь эффективным, и могут потребоваться альтернативные стратегии индексации.

Дополнительные соображения

Такие факторы, как распределение данных, шаблоны запросов и рабочая нагрузка базы данных, влияют на полезность индекса. Регулярный анализ селективности индекса может направлять усилия по оптимизации базы данных.