PostgreSQL ще използва индекс само ако смята, че така ще бъде по-евтино. Индекс на boolean
колона, която може да приеме само две възможни стойности, почти никога няма да се използва, тъй като е по-евтино да се прочете последователно цялата таблица, отколкото да се използва произволен I/O в индекса и таблицата, ако трябва да се извлече висок процент от таблицата .
Индекс на boolean
колоната е полезна само
-
в сценарии за склад на данни, където може да се комбинира с други индекси чрез сканиране на индекс на растерна карта .
-
ако само малка част от таблицата има стойност
TRUE
(илиFALSE
за този въпрос). В този случай е най-добре да създадете частичен индекс харесвамCREATE INDEX ON mytab((1)) WHERE boolcolumn;