PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:crea un indice per la colonna booleana

PostgreSQL utilizzerà un indice solo se pensa che sarà più economico in questo modo. Un indice su un boolean la colonna, che può assumere solo due valori possibili, non verrà quasi mai utilizzata, perché è più economico leggere in sequenza l'intera tabella che utilizzare I/O casuali sull'indice e sulla tabella se è necessario recuperare una percentuale elevata della tabella .

Un indice su un boolean la colonna è solo utile

  1. in scenari di data warehouse, dove può essere combinato con altri indici tramite una scansione dell'indice bitmap .

  2. se solo una piccola parte della tabella ha il valore TRUE (o FALSE per questo motivo). In questo caso è meglio creare un indice parziale come

    CREATE INDEX ON mytab((1)) WHERE boolcolumn;