Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

A Oracle tem um conceito de índice filtrado?


Você pode criar um índice baseado em função no Oracle que aproveita o fato de que os valores NULL não são armazenados em índices b-tree. Algo como
CREATE INDEX TimeSeriesPeriodSs1
    ON TimeSeriesPeriod( 
          (CASE WHEN completionStatus = 'Complete' AND validationStatus = 'Pending'
                THEN validationStatus
                ELSE NULL
            END),
          (CASE WHEN completionStatus = 'Complete' AND validationStatus = 'Pending'
                THEN completionStatus
                ELSE NULL
            END)
       );