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

Wie wirken sich NULL-Werte auf die Leistung bei einer Datenbanksuche aus?

In Oracle , NULL Werte werden nicht indiziert, d. e. diese Abfrage:

SELECT  *
FROM    table
WHERE   column IS NULL

wird immer einen vollständigen Tabellenscan verwenden, da der Index nicht die benötigten Werte abdeckt.

Mehr als das, diese Abfrage:

SELECT  column
FROM    table
ORDER BY
        column

wird aus demselben Grund auch den vollständigen Tabellenscan und die Sortierung verwenden.

Wenn Ihre Werte NULL nicht zulassen 's, dann markieren Sie die Spalte als NOT NULL .