原文链接:http://likgrj.blog.163.com/blog/static/1143818642012551150508/
创建测试表
SQL> CREATE TABLE t
AS
Table created.
SQL> UPDATE t SET val1 = NULL WHERE val1 < 0;
488 rows updated.
SQL> ALTER TABLE t ADD CONSTRAINT t_pk PRIMARY KEY (id);
Table altered.
SQL> CREATE INDEX t_val1_i ON t (val1);
SQL> CREATE INDEX t_val2_i ON t (val2);
Index created.
查看统计信息为空
SQL> SELECT num_rows, blocks, empty_blocks, avg_space,chain_cnt, avg_row_len
---------- ---------- ------------ ---------- ---------------------
收集统计信息看看
SQL> BEGIN
END;
/
可以查到表统计信息了
SQL> SELECT num_rows, blocks, empty_blocks, avg_space,chain_cnt, avg_row_len
---------- ---------- ------------ ---------- ---------------------
字段说明:
NUM_ROWS记录行数
BLOCKS
EMPTY_BLOCKS
AVG_SPACE
CHAIN_CNT
AVG_ROW_LEN 行平均长度
再看看列统计信息
SQL> SELECT column_name AS "NAME",
NAME
---- ----- -------------- -------------- ------- ----- --------------------- -----
ID
VAL1
VAL2
VAL3
PAD
统计信息说明
column_name 字段名
num_distinct 唯一值数量
low_value 该列最小值
high_value 该列最大值
density 表示该列数据的重复率,0到1的小数,越接近0表示重复率越低。
num_nulls 该列null值的数量
avg_col_len 列平均长度,以字节为单位
histogram 是否有直方图统计信息,none:没有,frequency:频率直方图,height balanced等高直方图。
num_buckets 直方图桶数