SQL> exec dbms_stats.gather_table_stats(user,'TESTA',method_opt=>'FOR ALL COLUMNS SIZE 6'); --频率直方图~
PL/SQL 过程已成功完成。
SQL> select TABLE_NAME, COLUMN_NAME, NUM_DISTINCT, NUM_BUCKETS, HISTOGRAM
2 from user_tab_col_statistics
3 where table_name = 'TESTA'
4 and column_name = 'ID'
5 /
TABLE_NAME COLUMN_NAME NUM_DISTINCT NUM_BUCKETS HISTOGRAM
------------------------------ -------------------- ------------ ----------- ---------------
TESTA ID 6 6 FREQUENCY
SQL> SELECT TABLE_NAME, COLUMN_NAME, ENDPOINT_NUMBER, ENDPOINT_VALUE
2 FROM USER_TAB_HISTOGRAMS
3 WHERE TABLE_NAME = 'TESTA'
4 AND COLUMN_NAME = 'ID';
TABLE_NAME COLUMN_NAME ENDPOINT_NUMBER ENDPOINT_VALUE
------------------------------ -------------------- --------------- --------------
TESTA ID 1 100
TESTA ID 10 1000
TESTA ID 100 3000
TESTA ID 1000 5000
TESTA ID 10000 9000
TESTA ID 11304 10000
已选择6行。
频率直方图中endpoint_number就是桶中的累计个数~ 每一个endpoint_number代表一个桶
[本帖最后由 zergduan 于 2009-12-18 00:23 编辑]