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

Tilføjelse af et indeks på et boolesk felt

Nej, du kan indeksere et boolesk felt, hvis du vil filtrere efter det. Det er en helt rimelig ting at gøre, selvom PostgreSQL som med alle indekser kan vælge at ignorere det, hvis det ikke vil udelukke nok af tabellen -- en indeksscanning plus et væld af rækkehentninger kan være dyrere end en sekventiel scanning - - hvilket kan eller måske ikke påvirker dig afhængigt af værdierne i den kolonne.

Du skal også være opmærksom på, at PostgreSQL lader dig sætte betingelser på indekser, hvilket jeg ofte finder nyttigt med booleske felter. (Se Delvise indekser for detaljer.) Hvis du normalt vil filtrere eller sortere inden for dette område, er du måske bedst tjent med noget som CREATE INDEX ... ON table (some_field) WHERE boolean_field .



  1. Eliminering af MySQL Split-Brain i Multi-Cloud-databaser

  2. Forbindelse til SQL Server virker nogle gange

  3. Sådan opretter du et sikkert login-script i PHP og MySQL

  4. SQL Server og MySQL synkronisering