Статистика и индексы SQL - насколько они подробны?

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

Предположим, у меня есть таблица с битовым столбцом с именем active, в котором миллион строк, но 99. 99% установлено значение false. Если у меня есть индекс для этого столбца, значит, Sql достаточно умен, чтобы знать, что использовать индекс при поиске active = 1, но нет смысла искать active = 0.

Другой пример, если у меня есть таблица который содержит, скажем, 1000000 записей с индексированным столбцом, который содержит около 50000 различных значений со средним числом строк на значение 10, но затем одно специальное значение, которое имеет 500000 строк. Индекс может быть бесполезен при поиске этой специальной записи, но будет очень полезен при поиске любого из других кодов.

Но разве этот частный случай разрушает эффективность индекса?

5
задан A-K 22 October 2010 в 17:25
поделиться