PostgreSQL použije index pouze v případě, že si myslí, že to bude levnější. Index na boolean
sloupec, který může nabývat pouze dvou možných hodnot, se téměř nikdy nepoužije, protože je levnější sekvenčně číst celou tabulku než používat náhodné I/O na indexu a tabulce, pokud je třeba získat velké množství tabulky .
Index na boolean
sloupec je pouze užitečný
-
ve scénářích datových skladů, kde je lze kombinovat s jinými indexy pomocí skenování bitmapových indexů .
-
pokud pouze malá část tabulky má hodnotu
TRUE
(neboFALSE
na to přijde). V tomto případě je nejlepší vytvořit částečný index jakoCREATE INDEX ON mytab((1)) WHERE boolcolumn;