sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL:Skapa index för boolesk kolumn

PostgreSQL kommer bara att använda ett index om det tror att det blir billigare på det sättet. Ett index på en boolean kolumn, som bara kan ta två möjliga värden, kommer nästan aldrig att användas, eftersom det är billigare att sekventiellt läsa hela tabellen än att använda slumpmässig I/O på indexet och tabellen om en hög andel av tabellen måste hämtas .

Ett index på en boolean kolumnen är bara användbar

  1. i datalagerscenarier, där det kan kombineras med andra index via en bitmappsindexskanning .

  2. om bara en liten del av tabellen har värdet TRUE (eller FALSE för den sakens skull). I det här fallet är det bäst att skapa ett partiellt index gillar

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



  1. SQLite DATEADD() Ekvivalent

  2. Hur listar man poster med datum från de senaste 10 dagarna?

  3. Skanningar av allokeringsorder

  4. Återställa MySQL-databas från fysiska filer