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

Adicionando um índice em um campo booleano


Não, você pode indexar um campo booleano se estiver filtrando por ele. Isso é uma coisa perfeitamente razoável de se fazer, embora, como em todos os índices, o PostgreSQL possa optar por ignorá-lo se não excluir o suficiente da tabela - uma varredura de índice mais uma tonelada de buscas de linha podem ser mais caras do que uma varredura sequencial - - o que pode ou não afetá-lo dependendo dos valores dessa coluna.

Você também deve estar ciente de que o PostgreSQL permite que você coloque condições em índices, o que geralmente acho útil com campos booleanos. (Consulte Índices parciais para obter detalhes.) Se você estiver normalmente filtrando ou classificando dentro desse escopo, poderá ser melhor atendido por algo como CREATE INDEX ... ON table (some_field) WHERE boolean_field .