sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:index maken voor booleaanse kolom

PostgreSQL zal alleen een index gebruiken als het denkt dat het op die manier goedkoper zal zijn. Een index op een boolean kolom, die slechts twee mogelijke waarden kan aannemen, zal bijna nooit worden gebruikt, omdat het goedkoper is om de hele tabel sequentieel te lezen dan om willekeurige I/O op de index en de tabel te gebruiken als een hoog percentage van de tabel moet worden opgehaald .

Een index op een boolean kolom is alleen nuttig

  1. in datawarehouse-scenario's, waar het kan worden gecombineerd met andere indexen via een bitmap-indexscan .

  2. als slechts een klein deel van de tabel de waarde TRUE heeft (of FALSE wat dat betreft). In dit geval kunt u het beste een gedeeltelijke index maken leuk vinden

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



  1. moet twee sets gegevens retourneren met twee verschillende waar-clausules

  2. Hoe de RTRIM()-functie werkt in MySQL

  3. Hoe van database te wisselen met PostgreSQL

  4. Automatisch verhogen van de 'id'-waarde bij het invoegen in sqlite