PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Ajouter un index sur un champ booléen

Non, vous pouvez indexer un champ booléen si vous filtrez par celui-ci. C'est une chose parfaitement raisonnable à faire, bien que comme avec tous les index, PostgreSQL peut choisir de l'ignorer s'il n'exclut pas suffisamment de la table -- un parcours d'index plus une tonne de récupérations de lignes peut être plus cher qu'un parcours séquentiel - - qui peuvent ou non vous affecter en fonction des valeurs de cette colonne.

Vous devez également savoir que PostgreSQL vous permet de mettre des conditions sur les index, ce que je trouve souvent utile avec les champs booléens. (Voir Index partiels pour plus de détails.) Si vous filtrez ou triez couramment dans cette portée, vous serez peut-être mieux servi par quelque chose comme CREATE INDEX ... ON table (some_field) WHERE boolean_field .