Database Reference
In-Depth Information
64/!GHFODUH
YBVTOBWH[WFORE T>VHOHFWFRXQWIURPWZKHUHD @
JFBRUDBODQJXDJHBIODJLQWHJHU GEPVBVTOQDWLYH
FXUBG\QLQWHJHU GEPVBVTORSHQBFXUVRU
EHJLQ
GEPVBVTOSDUVHFXUBG\QYBVTOBWH[WJFBRUDBODQJXDJHBIODJ
HQG
64/!
64/!VHOHFWVTOBLGVTOBLGSODQBKDVKBYDOXHSODQBKDVKBYDOXHH[DFWBPDWFKLQJBVLJQDWXUH
H[DFWBPDWFKBVLJIURPYVTOZKHUHH[DFWBPDWFKLQJBVLJQDWXUH DQG
FRPPDQGBW\SH
IWJK[MVSMU
64/!
64/!VHOHFWSODQBWDEOHBRXWSXWIURPWDEOHV\VGEPVB[SODQGLVSOD\BFXUVRUVTOBLG$'9$1&('
/$67
64/B,'IWJK[MVSMUFKLOGQXPEHU
VHOHFWFRXQWIURPWZKHUHD
3ODQKDVKYDOXH
_,G_2SHUDWLRQ_1DPH_5RZV_%\WHV_&RVW&38_7LPH_
__6(/(&767$7(0(17______
__6257$**5(*$7(______
__,1'(;5$1*(6&$1_,B7_____
Beim harten Parse Call werden zwei Cursor in der SQL-Area angelegt: ein Cursor für das
Kommando Explain Plan und ein für die originelle SQL-Anweisung. Der Plan in der View
V$SQL_PLAN vom originellen Cursor ist der jeweilige Explain Plan. Diesen Explain Plan
kann man mit der Funktion DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE in
einer SQL Plan Baseline speichern. Für DDL-Anweisungen hat dieses Verfahren keinen
Sinn, weil solche Anweisungen beim Parse Call ausgeführt werden.
P.: „Wo kann man diese Methode einsetzen?“
L.: „Beispielsweise im Verfahren mit Hidden Hints (s. im Abschn.   18.7.3). Außerdem gib es
Fälle, bei denen eine Ausführung der jeweiligen SQL-Anweisung kaum möglich ist. Beispiel-
weise, wenn diese Anweisung ein DML-Kommando ist oder wenn sie sehr viele Bind-Varia-
blen enthält, so dass es problematisch ist, diese Variablen mit den jeweiligen Bind-Werten zu
befüllen. In diesen beiden Fällen könnte man auch diese Methode anwenden.“
Im obigen Beispiel wird ein anonymer PL/SQL-Block für den Parse Call benutzt. Selects
kann man alternativ mit der Einstellung „set autotrace traceonly explain“ in SQL*Plus aus-
führen. Dabei wird auch ein Parse Call ohne Ausführung der SQL-Anweisung gemacht.
14.3.2
Aktivieren und Deaktivieren
SQL Plan Baselines sind im Unterschied zu den Stored Outlines stillschweigend aktiviert
(mit der Parametereinstellung OPTIMIZER_USE_SQL_PLAN_BASELINES = TRUE).
Man kann sie deaktivieren, indem man den Parameter OPTIMIZER_USE_SQL_PLAN_
BASELINES für eine Session oder systemweit auf FALSE setzt.
Search WWH ::




Custom Search