Database Reference
In-Depth Information
Der Parameter _ optimizer _ extended _ cursor _ sharing steuert die Anwendung von ECS
für benutzerdefinierte Operatoren. Der Wert „NONE“ verbietet ECS für solche Prädikate,
der Wert „UDO“ erlaubt es. Stillschweigend ist das ECS-Verfahren für benutzerdefinierte
Operatoren erlaubt.
Es gibt noch den Parameter _ optimizer _ adaptive _ cursor _ sharing , der für ECS relevant
ist. Den Namen dieses Parameters finde ich etwas verwirrend. Man kann denken, dass der
Wert „FALSE“ das ACS-Verfahren verbietet (und der Wert „TRUE“ erlaubt). In der Tat be-
wirkt der Wert „FALSE“ aber etwas anderes. Bei diesem Wert werden Cursor, für die das
ECS-Verfahren anwendbar ist, sofort als „bind aware“ anerkannt (also ohne Monitoring
der Kardinalitäten). Dies kann man auch mit dem Skript test_case_adaptive_cursor_sha-
ring_bind_sensitive.sql nachvollziehen.
Die Parametereinstellung cursor _ sharing = similar , welche bei Oracle für ähnliche Zwe-
cke wie ECS eingeführt wurde (s. im Kap. 11), setzt das ECS-Verfahren für SQL-Anwei-
sungen mit Literalen außer Kraft und soll aus diesem Grund nicht gebraucht werden. Es
war so mindestens bis einschließlich Oracle Release 11.2.0.1. Bei meiner Testdatenbank
von Oracle 11.2.0.3 merke ich, dass die Parametereinstellungen cursor _ sharing = similar
und cursor _ sharing = force gleich bedeutend sind. Im MOS habe ich keine Informationen
darüber gefunden.
15.1.3
Vertiefung in das Thema
In diesem Abschnitt werfen wir einen tieferen Blick auf das ACS-Verfahren. Im vorigen
Abschnitt ist das ACS-Verfahren nur im Wesentlichen beschrieben, weil dieses Verfahren
sehr umfangreich ist. Mein Ziel dort war, das ACS-Verfahren möglichst verständlich zu
vermitteln.
Ich merke, dass Peter einige Fragen zu dem ACS-Verfahren hat. Am Anfang dieses Ab-
schnitts versuche ich seine Fragen zu beantworten. Danach werde ich einige im vorigen
Abschnitt angesprochene Details beschreiben. Der Rest dieses Abschnitts ist den Einzel-
heiten des ECS-Verfahrens gewidmet.
Leonid: „ Peter, kommst Du jetzt klar mit Adaptive Cursor Sharing?
Peter: „ Es sieht damit wesentlich besser als früher aus. Ich habe nicht ganz verstanden,
welche Kardinalitäten beim Monitoring protokolliert werden. Es ist doch nicht die Anzahl der
Datensätze in der Ergebnistreffermenge?
L.: „ Natürlich nicht. Oracle zählt die Kardinalitäten der einzelnen Ausführungsplanschrit-
te zusammen. Am besten zeige ich das an einem Beispiel.
Search WWH ::




Custom Search