Database Reference
In-Depth Information
Die jeweilige SQL-Anweisung hätte aber effektiver ausgeführt werden können. Wenn wir
den bestehenden Cursor aus der SQL-Area entfernen, wird ein besserer Ausführungsplan
gewählt (dank dem User Bind Peeking, s. im Abschn. 10).
SQL> alter system flush shared_pool;
System wurde geändert.
SQL>
SQL> select * from t1 where a=:b1;
A B C D E
---------- ---------- ---------- ---------- ----------
0 0 1 1 1
0 0 2 2 2
0 0 3 3 3
0 0 4 4 4
0 0 5 5 5
0 0 6 6 6
0 0 7 7 7
0 0 8 8 8
0 0 9 9 9
0 0 10 10 10
10 Zeilen ausgewählt.
SQL>
SQL> select plan_table_output from table (sys.dbms_xplan.display_cursor('','','ADVANCED
LAST'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID 2wbyny3krfp88, child number 0
-------------------------------------
select * from t1 where a=:b1
Plan hash value: 4068921349
--------------------------------------------------------------------------------
----
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
----
| 0 | SELECT STATEMENT | | | | 2 (100)|
|
| 1 | TABLE ACCESS BY INDEX ROWID| T1 | 5 | 95 | 2 (0)| 00:00:
01 |
|* 2 | INDEX RANGE SCAN | I_T1 | 5 | | 1 (0)| 00:00:
01 |
--------------------------------------------------------------------------------
----
P.: „ Dieses Feature ist nicht so harmlos, wie ich dachte.
L.: „ Wie ich am Anfang dieses Abschnitts gewarnt habe, muss man bei der Benutzung die-
ses Features etwas aufpassen. Ich wende Autotrace ziemlich selten an. Normalerweise benutze
ich stattdessen das Kommando Explain Plan.
Search WWH ::




Custom Search