SQL> select table_name,num_rows,blocks,avg_row_len,to_char(last_analyzed,'yyyy/mm/dd hh24:mi:ss')
from dba_tables where table_name in ('EMP');
TABLE_NAME NUM_ROWS BLOCKS AVG_ROW_LEN TO_CHAR(LAST_ANALYZ
--------------------- ---------- ---------- ----------- -------------------
EMP 14 5 37 2010/03/02 10:44:51
索引验证信息:
SQL> select index_name "name",num_rows,distinct_keys "distinct",blcoks,clustering_factor "cf",blevel "level",
avg_leaf_blocks_per_key "alfbpkey" from dba_indexes where owner='SCOTT';
name NUM_ROWS distinct LEAF_BLOCKS cf level alfbpkey
------------------------------ ---------- ---------- ----------- ---------- ---------- ----------
PK_DEPT 4 4 1 1 0 1
PK_EMP 14 14 1 1 0 1
索引中的行数num_rows:基数
不同关键字的数目distinct:定义了索引的选择性
索引的等级或高度blevel:指出为了查找某数据所需探测数据的深度
叶块leaf block的数目:代表为查找到预期的数据行所需进行I/O的数目
聚类因子clustering factor:指出索引块相对于数据块的配置数量如果索引的CF值越大,那么优化器也就更加可能会选择该索引。
验证列统计信息:
SQL>select table_name,column_name,num_distinct,num_nulls,num_buckets,density
from dba_tab_col_statistics where table_name='EMP';
TABLE_NAME COLUMN_NAME NUM_DISTINCT NUM_NULLS NUM_BUCKETS DENSITY
------------------------------ ------------------------------ ------------ ---------- ----------- ----------
EMP EMPNO 14 0 1 .071428571
EMP ENAME 14 0 1 .071428571
EMP JOB 5 0 1 .2
EMP MGR 6 1 1 .166666667
EMP HIREDATE 13 0 1 .076923077
EMP SAL 12 0 1 .083333333
EMP COMM 4 10 1 .25
EMP DEPTNO 3 0 1 .333333333
num_distinct列统计信息:如果某列的值=1,在这种情况下,该类只具有一种取值,那么该列就会获得较差的选择性,并且不适合将该列作为候选。如果某列=2,跟上述情况一样,那么除非发生了比较大的数据偏离,否则他将不适合做候选索引。如果某列的值很大(如100000),那么就会或得较好的选择性,也就是说,那么该列就适合做候选索引。
num_null指出空统计信息的数目。如果单列索引中只有很少的空统计信息,在这种情况下,如果再把该列作为索引那么结果集将是巨大的;如果单列索引中只有很多的空统计信息,在这种情况下,如果再把该类作为索引那么结果集将是较小的。这也就意味着该列合适于作为索引列。
density列统计信息表明所在列的相应数据密度。
连接方法的确定也是基于返回行数目的。
from dba_tables where table_name in ('EMP');
TABLE_NAME NUM_ROWS BLOCKS AVG_ROW_LEN TO_CHAR(LAST_ANALYZ
--------------------- ---------- ---------- ----------- -------------------
EMP 14 5 37 2010/03/02 10:44:51
索引验证信息:
SQL> select index_name "name",num_rows,distinct_keys "distinct",blcoks,clustering_factor "cf",blevel "level",
avg_leaf_blocks_per_key "alfbpkey" from dba_indexes where owner='SCOTT';
name NUM_ROWS distinct LEAF_BLOCKS cf level alfbpkey
------------------------------ ---------- ---------- ----------- ---------- ---------- ----------
PK_DEPT 4 4 1 1 0 1
PK_EMP 14 14 1 1 0 1
索引中的行数num_rows:基数
不同关键字的数目distinct:定义了索引的选择性
索引的等级或高度blevel:指出为了查找某数据所需探测数据的深度
叶块leaf block的数目:代表为查找到预期的数据行所需进行I/O的数目
聚类因子clustering factor:指出索引块相对于数据块的配置数量如果索引的CF值越大,那么优化器也就更加可能会选择该索引。
验证列统计信息:
SQL>select table_name,column_name,num_distinct,num_nulls,num_buckets,density
from dba_tab_col_statistics where table_name='EMP';
TABLE_NAME COLUMN_NAME NUM_DISTINCT NUM_NULLS NUM_BUCKETS DENSITY
------------------------------ ------------------------------ ------------ ---------- ----------- ----------
EMP EMPNO 14 0 1 .071428571
EMP ENAME 14 0 1 .071428571
EMP JOB 5 0 1 .2
EMP MGR 6 1 1 .166666667
EMP HIREDATE 13 0 1 .076923077
EMP SAL 12 0 1 .083333333
EMP COMM 4 10 1 .25
EMP DEPTNO 3 0 1 .333333333
num_distinct列统计信息:如果某列的值=1,在这种情况下,该类只具有一种取值,那么该列就会获得较差的选择性,并且不适合将该列作为候选。如果某列=2,跟上述情况一样,那么除非发生了比较大的数据偏离,否则他将不适合做候选索引。如果某列的值很大(如100000),那么就会或得较好的选择性,也就是说,那么该列就适合做候选索引。
num_null指出空统计信息的数目。如果单列索引中只有很少的空统计信息,在这种情况下,如果再把该列作为索引那么结果集将是巨大的;如果单列索引中只有很多的空统计信息,在这种情况下,如果再把该类作为索引那么结果集将是较小的。这也就意味着该列合适于作为索引列。
density列统计信息表明所在列的相应数据密度。
连接方法的确定也是基于返回行数目的。