Database Reference
In-Depth Information
SQL> exec dbms_stats.gather_table_stats(user, 'T1', method_opt => 'for columns a size 1')
PL/SQL procedure successfully completed.
SQL> select num_distinct, density from user_tab_col_statistics where table_name='T1' and
column_name='A';
NUM_DISTINCT DENSITY
------------ ----------
1000 .001
SQL> select b from t1 where a = :b1;
B
----------
1
SQL> select plan_table_output from table (sys.dbms_xplan.display_cursor('','','ADVANCED
LAST'));
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------
------------------
SQL_ID 7yhhgmf7cjzf6, child number 0
-------------------------------------
select b from t1 where a = :b1
Plan hash value: 4068921349
------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 2 (100)| |
| 1 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 51 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | I_T1 | 1 | | 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------
L.: „ Das Skript test_case_char_histograms.sql präsentiert Dynamic Sampling als noch eine
mögliche Problemlösung. In diesem konkreten Fall kann auch das Anlegen des eindeutigen
( unique ) Indexes helfen. Das zwingt den Optimizer, den Index zu benutzen, ungeachtet, dass
der jeweilige Bind-Wert laut der bestehenden Histogramme nicht selektiv ist.
7.1.1.2 Leaf-Blöcke der Indices
Die Optimizer-Statistik zu Leaf-Blöcken eines Indexes kann uns über die Größe dieses
Indexes und, was eventuell noch wichtiger ist, über die Effektivität einiger Index-Opera-
tionen informieren. In diesem Abschnitt betrachten wir lediglich B-Tree Indices und be-
sprechen diese interessante Optimizer-Statistik und ihren Einfluss auf einige Index-Ope-
rationen. Ferner besprechen wir Methoden, mit denen man die Qualität der B-Tree Indices
schätzen kann. Diese Methoden basieren auf der Optimizer-Statistik zu den Leaf-Blöcken.
Leonid: „ Peter, für welche Index-Operationen spielt die Anzahl der Leaf-Blöcke eine große
Rolle?
Peter: „ Zum Beispiel für Full Scans von Indices.
L.: „ Ich würde Deine Antwort noch mit 2 Operationen ergänzen: Fast Full Scans und
Range Scans von Indices. Einverstanden?
P.: „ Einige Bedenken habe ich bei den Range Scans.
L.: „ Aus welchem Grund? Ein Range Scan ist schematisch in Abb.  7.1 dargestellt. Bei solch
einem Index Scan wird auch ein Bereich der Leaf-Blöcke überprüft “.
Search WWH ::




Custom Search