Oracle nicht mit index beim Eintritt in

Ich bin sehr neu zu indizieren und zu erklären, Pläne, also bitte Geduld mit mir!
Ich versuche zum optimieren einer Abfrage, aber ich bin Probleme.

Ich habe zwei Tabellen:

SKU
------
SKUIDX (Unique index)
CLRIDX (Index)
..
..

IMPCOST_CLR
-----------
ICCIDX (Unique index)
CLRIDX (Index)
...
..

Wenn ich eine select * from SKU where clridx = 122 ich kann sehen, dass es mit dem index in den explain-plan (es sagt-TABELLE, ACCESS,.. INDEX, sagt es, dass der index unter dem Namen OBJEKTNAME und die Optionen ist der RANGE-SCAN).

Nun, wenn ich versuche, gemeinsam auf dem gleichen Feld, es erscheint nicht auf den index verwenden (es sagt-TABELLE, ACCESS,.. die HASH-JOIN-und unter "Optionen", heißt es VOLLER).

Was sollte ich suchen, um zu versuchen und sehen, warum es nicht über den index?
Sorry, ich bin nicht sicher, welche Befehle zu geben, um dies zu zeigen, so bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

Beispiele:

1. Abfrage:

  SELECT
    *
  FROM
    AP21.SKU
  WHERE
    CLRIDX = 100

Oracle nicht mit index beim Eintritt in

2. Abfrage:

  SELECT
    *
  FROM
    AP21.IMPCOST_CLR
  WHERE
    CLRIDX = 100

Oracle nicht mit index beim Eintritt in

3. Abfrage:

  SELECT
    *
  FROM
    AP21.SKU
  INNER JOIN
    AP21.IMPCOST_CLR ON
    IMPCOST_CLR.CLRIDX = SKU.CLRIDX

Oracle nicht mit index beim Eintritt in

  • Was ist die Abfrage, die Sie verwenden, wenn Sie sich anmelden?
  • Hi, siehe mein edit. Die Abfrage im Versuch optimieren Hunderte und viel mehr, aber es brechen und nehmen es Schritt für Schritt!
  • Wie haben Sie bei der Lösung Ihres vollständigen scan problem?
  • durch das Verständnis, wie SQL und Abfragen arbeiten 🙂 Siehe Antwort unten
InformationsquelleAutor Lock | 2013-07-16
Schreibe einen Kommentar