Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ORACLE: Index-Verwendung bei Selektion ">"

Empfohlene Antworten

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.