sql >> Base de Datos >  >> RDS >> Oracle

¿Oracle tiene un concepto de índice filtrado?

Puede crear un índice basado en funciones en Oracle que aproveche el hecho de que los valores NULL no se almacenan en índices de árbol b. 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)
       );