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