Database Reference
In-Depth Information
10
User Bind Peeking
In diesem kleinen Abschnitt besprechen wir kurz das Feature User Bind Peeking von Ora-
cle 9i und 10g. Ich glaube, es ist sinnvoll aus den folgenden 2 Gründen:
• einklaresBildüberdiesesFeaturehilftdieVorteilevonAdaptiveCursorSharingbesser
zu verstehen (s. im Abschn. 15.1), welches eine Weiterentwicklung von User Bind Pee-
king in 11g darstellt,
• mankannnachwievordiesesFeatureinOracle11gbenutzen,wennmanAdaptive
Cursor Sharing, bzw. Extended Cursor Sharing ausschaltet (was generell nicht zu emp-
fehlen ist).
Leonid: „ Peter, ich glaube, Du kennst Dich gut mit User Bind Peeking aus.
Peter: „ Das hoffe ich.
L.: „ Könntest Du bitte sagen, wofür Oracle dieses Feature eingeführt hat?
P.: „ Um die Auswertung der Histogramme für SQL-Anweisungen mit Bind-Variablen zu
ermöglichen.
L.: „ Wie ist es bei User Bind Peeking realisiert?
P.: „ Oracle nimmt den ersten Satz der Bind-Werte bei der ersten Ausführung der SQL-
Anweisung und berücksichtigt die Werteverteilung für diese Bind-Werte beim Erstellen des
Ausführungsplans. Dafür werden die jeweiligen Histogramme herangezogen.
L.: „ Was passiert weiter? Was macht Oracle beispielsweise mit dem zweiten Satz der Bind-
Werte?
P.: „ Für den zweiten und für die weiteren Sätze der Bind-Werte nimmt Oracle den Aus-
führungsplan, der für den ersten Satz erstellt wurde, weil das Erstellen des Ausführungsplans
für jeden Satz der Bind-Werte zu teuer wäre.
L.: „ Ja, und das ist genau die Schwachstelle dieses Features. Kannst Du möglicherweise
sagen, warum?
P.: „ Es ist gut möglich, dass der für den ersten Satz der Bind-Werte errechnete Ausfüh-
rungsplan nicht optimal für die anderen Sätze ist.
Search WWH ::




Custom Search