PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL:Criar índice para coluna booleana


O PostgreSQL usará um índice somente se achar que será mais barato dessa forma. Um índice em um boolean coluna, que só pode ter dois valores possíveis, quase nunca será usada, porque é mais barato ler sequencialmente toda a tabela do que usar E/S aleatória no índice e na tabela se uma alta porcentagem da tabela tiver que ser recuperada .

Um índice em um boolean coluna só é útil

  1. em cenários de data warehouse, onde pode ser combinado com outros índices por meio de uma varredura de índice de bitmap .

  2. se apenas uma pequena fração da tabela tiver o valor TRUE (ou FALSE para o efeito). Neste caso é melhor criar um índice parcial Como
    CREATE INDEX ON mytab((1)) WHERE boolcolumn;