Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verfügt Oracle über ein gefiltertes Indexkonzept?

Sie können einen funktionsbasierten Index in Oracle erstellen, der die Tatsache nutzt, dass NULL-Werte nicht in B-Tree-Indizes gespeichert werden. So etwas wie

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)
       );