Database Reference
In-Depth Information
Danach wird eine für den Optimizer relevante Parametereinstellung geändert und die
SQL-Anweisung erneut ausgeführt.
SQL> alter session set optimizer_index_cost_adj=20;
Session wurde geändert.
SQL> select count(*) from t1 where a=:b1;
COUNT(*)
----------
200
SQL> select plan_table_output from table ( sys.dbms_xplan.display_cursor( '','','LAST'));
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------- ------
----------------------------------------------------------------------------------------------
------------------
SQL_ID ara72qm440w33, child number 1
-------------------------------------
select count(*) from t1 where a=:b1
Plan hash value: 3724264953
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 7 (100)| |
| 1 | SORT AGGREGATE | | 1 | 3 | | |
|* 2 | TABLE ACCESS FULL| T1 | 200 | 600 | 7 (0)| 00:00:01 |
-------------------------------------------- -------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("A"=TO_NUMBER(:B1))
19 Zeilen ausgewählt.
SQL> define sql_id='ara72qm440w33'
SQL> define per_child='y'
SQL> set echo off
CHILD_NUMBER= 0, OPTIMIZER_MISMATCH=0
CHILD_NUMBER= 1, OPTIMIZER_MISMATCH=1
Bei der zweiten Ausführung wird ein neuer Cursor mit CHILD_NUMBER=1 angelegt,
weil der erste wegen des unterschiedlichen Optimizer-Environments (OPTIMIZER_MIS-
MATCH) nicht gemeinsam genutzt werden kann. Für die dritte Ausführung ändert man
den Typ der Bind-Variablen auf NUMBER.
Search WWH ::




Custom Search