Database Reference
In-Depth Information
fluss auf die Tabellen, welche nach diesem Aufruf angelegt wurden (für diese Tabellen
wirken die globalen Präferenzen),
• dieglobalenPräferenzen(dbms_stats.set_global_prefs).
Folgendermaßen kann man beispielsweise eine Präferenz für eine Tabelle definieren:
SQL> exec dbms_stats.set_table_prefs(user,'T1','METHOD_OPT','for all indexed columns size
100')
PL/SQL procedure successfully completed.
Die angelegte Präferenz für Histogramme der Tabelle T1 wird beim Erstellen der Optimi-
zer-Statistiken berücksichtigt, solange man das mit dem Argument oder mit der Präferenz
METHOD_OPT für diese Tabelle nicht übersteuert. Mit dem nächsten Select kann man
die angelegte Präferenz ermitteln:
SQL> select dbms_stats.get_prefs('METHOD_OPT',user,'T1') opt_param from dual;
OPT_PARAM
--------------------------------------------------------------------------------
FOR ALL INDEXED COLUMNS SIZE 100
Die Tabellenpräferenzen kann man auch in der View DBA_TAB_STAT_PREF bzw. USER_
TAB_STAT_PREF finden:
SQL> select preference_name, preference_value from user_tab_stat_prefs where table_name='T1';
PREFERENCE_NAME
------------------------------
PREFERENCE_VALUE
--------------------------------------------------------------------------------
METHOD_OPT
FOR ALL INDEXED COLUMNS SIZE 100
Die Liste aller Präferenzen kann man dem Package-Header von DBMS_STATS entneh-
men. Das Package DBMS_STATS ist dort sehr gut dokumentiert, man kann in diesem
Package-Header auch viele andere nützliche Informationen finden.
Unter den Präferenzen gibt es zwei, die ich kurz besprechen möchte: PUBLISH und IN-
CREMENTAL. Die Präferenz PUBLISH steuert die Freigabe der erstellten Optimizer-Sta-
tistiken. Der Vorgabewert dieser Präferenz ist TRUE. Ändert man diesen Wert auf FALSE,
werden die danach erstellten Statistiken nicht freigegeben. Dies ermöglicht eine Prüfung
der Auswirkung dieser schwebenden (pending) Optimizer-Statistiken auf Performanz. Mit
dem folgenden Kommando wird die Nutzung der schwebenden Statistiken in einer Ses-
sion oder systemweit erlaubt:
alter {session|system} set optimizer_use_pending_statistics = true;
Wenn die jeweilige Prüfung der neuen Optimizer-Statistiken keine Probleme aufweist,
können sie mit dem Aufruf von DBMS_STATS.PUBLISH_PENDING_STATS freigegeben
werden.
Search WWH ::




Custom Search