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

So überprüfen Sie, ob der Index in Oracle verwendet wird oder nicht

Wenn Sie in Oracle SQL Developer SQL im Arbeitsblatt haben, gibt es eine Schaltfläche „Explain Plan“, Sie können auch F10 drücken. Nachdem Sie den Explain-Plan ausgeführt haben, wird er in der unteren Ansicht von SQL Developer angezeigt. Es gibt eine Spalte "OBJECT_NAME", die Ihnen mitteilt, welcher Index verwendet wird. Zum Beispiel, in einer Abfrage, die ich gerade ausgeführt habe, zeigt es in der linken Spalte (OPERATION) zuerst "SELECT STATEMENT", dann SORT (AGGREGATE) und dann INDEX (RANGE SCAN) und dann zeigt es in der Spalte OBJECT_NAME TICKER_IDX1, was das ist Name eines Index auf meiner Tabelle.

So können Sie über die Spalte OBJECT_NAME sehen, welche Indizes verwendet werden.

Es kann vorkommen, dass der Oracle Cost Based Optimizer einen suboptimalen Ausführungsplan wählt. Häufig löst das Aktualisieren von Statistiken das Problem. Andere Möglichkeiten bestehen darin, zusätzliche Indizes hinzuzufügen, mit anderen Worten, einen mehrspaltigen Index. Sie können eine SQL-Anweisung mit Hinweisen versehen, aber das ist selten erforderlich. Außerdem ist es möglich, die Abfrage umzuschreiben.