Database Reference
In-Depth Information
Das zweite Skript test_case_adaptive_cursor_sharing_cs.sql basiert auf dem ersten.
Dort ist dasselbe Ablaufschema realisiert. Der Unterschied zwischen den beiden Skrip-
ten besteht darin, dass das zweite Skript ein Literal statt der Bind-Variablen in der SQL-
Anweisung hat. Dieses Skript zeigt, wie das ACS-Verfahren bei Parametereinstellungen
cursor _ sharing <> exact funktioniert. Interessanterweise liefert dieses Skript dieselben
Ergebnisse bei Oracle 11.2.0.3 für die Parametereinstellungen cursor _ sharing = force und
cursor _ sharing = similar .
Ein Beispiel mit mehreren Range Ids in der View V$SQL_CS_SELECTIVITY habe ich
bei einem produktiven System gefunden. Zunächst habe ich dort nach SQL-Anweisungen
gesucht, welche für das ECS-Verfahren geignet sind und mehrere Cursor haben.
64/!VHOHFWIURPVHOHFWVTOBLGFRXQWIURPYVTOZKHUHLVBELQGBDZDUH <DQG
LVBREVROHWH 1JURXSE\VTOBLGRUGHUE\GHVFZKHUHURZQXP
64/B,'&2817
NEFUE]J
EIIJD\ZXYP
[KJY[WMZF
UD[]FUF
IU\GNSNT
G\][X\]J
JVSDMDXIXJ
EUWU\TGDV
K\DVNGJFP
DTPZUTGSX
URZVVHOHFWHG
Aus dieser Liste habe ich einen Cursor ausgewählt, welcher einige Child-Cursor mit dem-
selben Ausführungsplan hat.
64/!VHOHFWLVBELQGBVHQVLWLYHLVBELQGBDZDUHLVBVKDUHDEOHFKLOGBQXPEHUSODQBKDVKBYDOXHIURP
YVTOZKHUHVTOBLG G\][X\]JRUGHUE\DGGUHVVFKLOGBQXPEHU
,,,&+,/'B180%(53/$1B+$6+B9$/8(
<11
<<1
<<1
<<1
<<1
<<<
<<<
URZVVHOHFWHG
Die Child-Cursor mit den Nummern von 1 bis 5 könnten unterschiedliche Range Ids ha-
ben, weil sie wahrscheinlich zusammengeführt wurden. Dies habe ich folgendermaßen
geprüft.
Search WWH ::




Custom Search