Обычно не имеет смысла иметь индекс в столбце, который принимает только два значения. Причина? Наилучшим образом, главное преимущество индекса - ограничить количество прочитанных страниц данных для запроса. Однако, с двумя значениями, вероятно, что у каждой страницы данных будет какая-то запись с 0 и некоторой записью с 1. Следовательно, индекс не особенно полезен.
Существует два оговорки. Во-первых, двоичный (логический) столбец является разумным в индексе с несколькими столбцами. Это может быть важно, например, для выполнения условий where
, которые относятся к столбцу.
Во-вторых, если индекс сгруппирован, то все 0 хранятся вместе, и все 1-е хранятся вместе. Затем - в близком приближении - только 5% строк нужно будет читать для обработки запросов, ограниченных более редким значением. Обратите внимание, однако, что это накладывает дополнительные накладные расходы на , обновляя значение, поскольку изменение значения означает фактическое удаление одной записи на странице данных и вставку другой записи на другую страницу.