2012-08-03 11 views
10

Ich lerne gerade über Datenbank-Indizes, und ich versuche zu verstehen, die effiziente Verwendung von ihnen.Wie kann ich den Ausführungsplan sehen?

  • Ich würde gerne sehen, ob eine bestimmte Abfrage einen Index verwendet.
  • Ich möchte tatsächlich den Unterschied zwischen der Ausführung der Abfrage mit einem Index sehen, und ohne den Index zu verwenden (also möchte ich den Ausführungsplan für meine Abfrage sehen).

Ich verwende sql +.

Wie sehe ich den Ausführungsplan und wo finde ich die Information, ob mein Index verwendet wurde oder nicht?

+2

http://docs.oracle.com/cd/B19306_01/server.102/b14211/ex_plan.htm – Ollie

Antwort

21

Versuchen Sie diesen Code verwenden, um zunächst zu erklären und dann den Plan sehen:

den Plan erklären:

explain plan 
for 
select * from table_name where ...; 

den Plan Siehe:

select * from table(dbms_xplan.display); 

Edit: Entfernt die Klammern

+3

beachten Sie die Klammer i n die obere Abfrage wird nicht benötigt – Craig

+0

natürlich ... es sieht gut aus auf diese Weise. Nicht wahr? –

+0

haha ​​.. yeah .. Ich habe nur für das OP gesagt, nur für den Fall, dass ihre Frage groß ist und es ein Schmerz ist, in den Parens hinzuzufügen. – Craig

3

Werfen Sie einen Blick auf Explain Plan. EXPLAIN funktioniert über viele db-Typen hinweg.

Für sqlPlus speziell, siehe sqlplus AUTO TRACE Einrichtung.

Verwandte Themen