查看表的相关特性

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列统计信息表明所在列的相应数据密度。

连接方法的确定也是基于返回行数目的。

你可能感兴趣的:(sql)