Zum Inhalt springen

ORACLE: Index-Verwendung bei Selektion ">"


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hi,

ich mache einen einfachen selekt auf eine Tabelle:

SELECT * FROM table WHERE creation_date > 20100416164036513;

Die Spalte "creation_date" ist indiziert, der Index wird aber nicht gezogen.

Der Ausführungsplan sieht so aus:

QUERY_PLAN

TABLE ACCESS FULL table

Wenn ich den select mit "=" starte, zieht Oracle den Index:

SELECT * FROM table WHERE creation_date = 20100416164036513;

TABLE ACCESS BY INDEX ROWID table

INDEX RANGE SCAN IDX$$_164B0001

Muss ich bei "größer als" anders indizieren, oder macht die Verwendung eines Index für den Optimierer keinen Sinn, da zu viele Zeilen gefunden werden?

Danke!

Bearbeitet von meht
Geschrieben

Hier werden gleich zwei Fehler gemacht.

1. Du speicherst ein Datum als String ab. Warum?

2. Du gehst davon aus, dass ein Indexzugriff immer schneller ist als ein FTS.

Vergleiche einen Index mit einem Stichwortverzeichnis. Wenn Du nur zu ein paar Wörtern die Inhalte heraussuchen möchtest, geht das über das Stichwortverzeichnis natürlich sehr schnell. Musst Du aber für sehr viele Wörter nachschlagen, kommt Du irgendwann an einen Punkt, an dem es schneller ist, dass Buch einfach von vorne bis hintern durchzublättern anstatt für jedes Wort einzeln nachzuschlagen.

Der Optimizer greift, davon abgesehen, noch auf einige Feinheiten wie Histogramme, Cachverhalten, Geschwindigkeit der Platten und CPUs etc. zu, die in die Berechnung mit einfließen.

Dim

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...