Oracle 性能调优学习笔记(十二)-- 统计管理A

统计管理
    优化器统计信息是描述数据库和对象的数据集合.这些统计被用作查询优化器,
 使用的优化器可以得到最优的执行计划.  
    优化器统计信息如下:
  1.表统计:行数量,block数量,平均行的长度.
  2.列统计: 列中distinct的值.列中null的值,数据的分布,扩展的统计.
     3.索引的统计:子节点的块数量.子节点数量.集群因子.
  4.系统的统计:IO性能和利用率,CPU的性能和利用率
  数据库对象的统计信息更新了,当对象变化了,那么sql的语句的统计信息
 将重新统计,此时sql将重新解析,并重新生成执行计划.
     dbms_stats:通过这个包针对对象更改和解析的统计.
  dbms_stats.gather_table_stats;
  dbms_stats.gather_index_stats;
  dbms_stats.gather_schema_stats;
  dbms_stats.gather_database_stats;
     dbms_stats.gather_stale_stats;
  
  select num_rows,blocks from dba_tables where owner='HR'
     and table_name='EMPLOYEE';
  数据字典管理统计表
  tables:
   user_tables
   user_tab_statistics
   user_tab_partitions
   user_tab_subpartitions
        columns:
            user_table_col_statistics
            user_tab_histograms
            user_part_col_statistics
            user_part_histograms
            user_subpart_col_statistics
            user_subpart_histograms
  index:
            user_ind_statistics
            user_indexes
            user_ind_statistics
            user_ind_partitions
            user_ind_statistics
            user_ind_subpartitions 
   
  表统计信息:
   1.行数.
   2.块数和空余块.
   3.每一个block平均空闲空间.
   4.关联行数或者迁移行
   5.平均行长度
   6.上次分析的时间和样例大小.
   7.dba_tables数据字典的信息.
        索引统计
      1.索引级别
   2.子节点的block数量.
   3.平均每一个子节点数.
   4.平均每一个子节点的block数.
   5.索引实体的数量.
   6.cluster factor 排序方式.
   7.dba_indexes索引字典表.


  列统计:
    distinct 数值
    最小的值,最大的值.
    上次分析的时间.
    user_tab_col_statistics:
    all_tab_col_statistics: 
    dba_tab_columns:
  segment-level的统计信息
     逻辑读(取样)
     buffer busywait():
     db block changed(取样的)
     物理读,
     物理写.
     直接读(主要在PGA中).
     直接写(主要在PGA中).
     全局缓存的读一致性.
     全局信息当前块的.
     v$segstat_name:列出各个segment的收集信息.
        select * from v$segstat_name;
     v$segstat:显示统计信息.
        select  statistic_name statistic#,value
      from v$segstat_name dataobj# in (
       select object_id from dba_objects
     where owner='HR' 
       and object_name='T'
      );
   使用动态取样
     取样收集统计高效.
    
   启用动态取样
    OPTIMIZER_DYNAMIC_SAMPLING=0:表示优化器动态取样不被支持.
    OPTIMIZER_DYNAMIC_SAMPLING=1:
       执行时间:
      查询访问多个表.
      一个表没有被分析.
      全表扫描时候没有发现分析信息.
    OPTIMIZER_DYNAMIC_SAMPLING=2:
       分析没有分析的所有块.
    oracle9i缺省为1,oracle9i以后缺省为2.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值