Civil &: строительная инженерия
Расчет селективности индексов: повышение эффективности SQL-запросов с использованием реальных примеров данных
Table of Contents
Селективность индекса является ключевым фактором оптимизации производительности SQL-запроса. Он измеряет, насколько хорошо индекс фильтрует данные, влияя на скорость извлечения данных. Понимание и расчет селективности индекса может помочь администраторам баз данных повысить эффективность запроса, выбрав наиболее эффективные индексы.
Что такое индексная селективность?
Индексная селективность относится к пропорции уникальных значений в столбце относительно общего числа строк. Высокая селективность указывает на то, что столбец имеет много уникальных значений, что делает индексы на нем более эффективными. И наоборот, низкая селективность предполагает множество дублирующих значений, снижая полезность индекса.
Расчет селективности индекса
Формула селективности индексов проста:
Селективность = количество уникальных значений / общее количество рядов
Например, если таблица имеет 1000 строк и столбец с 900 уникальными значениями, селективность составляет 0,9, что указывает на высокую эффективность индексации.
Пример реальных данных
Рассмотрим таблицу данных о клиентах с 10 000 строк. В колонке "Страна" содержится 50 уникальных названий стран. Селективность такова:
0.005 = 50/10 000
Эта низкая избирательность предполагает, что индексация столбца «Страна» может не значительно улучшить производительность запроса. Вместо этого, фокусировка на столбцах с более высокой избирательностью, таких как «Идентификатор клиента», который имеет 10 000 уникальных значений, была бы более полезной.
Последствия для оптимизации запросов
Вычисление селективности индексов помогает в принятии решения о том, какие колонки индексировать. Столбцы с высокой селективностью обычно являются лучшими кандидатами для индексирования, что приводит к более быстрому выполнению запросов. Столбцы с низкой селективностью могут лучше подходить для других стратегий оптимизации или составных индексов.