Учитывает ли статистика (которая помогает решить, следует ли использовать индекс) число строк на фактическое значение столбца или просто используется среднее числоколичество строк на значение.
Предположим, у меня есть таблица с битовым столбцом, который называется активным, в котором содержится миллион строк, но для 99,99% установлено значение false.Если у меня есть индекс для этого столбца, то Sql достаточно умен, чтобы знать, чтобы использовать индекс при поиске active = 1, но что нет смысла, если поиск active = 0.
Другой пример, если яиметь таблицу, в которой, скажем, 1 000 000 записей с индексированным столбцом, который содержит около 50 000 различных значений со средним числом строк на значение 10, но затем одно специальное значение, которое имеет 500 000 строк.Индекс может быть бесполезен при поиске этой специальной записи, но будет очень полезен при поиске любого другого кода.
Но разве этот частный случай разрушает эффективность индекса?