zoukankan      html  css  js  c++  java
  • [统计信息系列2] 表的统计信息

    (一)表的统计信息查看

    Oracle表的统计信息,可以通过以下数据字典来查看:

    • DBA_TABLES:查看表的统计信息
    • DBA_TAB_PARTITIONS:查看分区的统计信息
    • DBA_TAB_SUBPARTITIONS:查看子分区的统计信息

    上述表中统计信息核心字段:

    NUM_ROWS:表的行数,目标表的行数是计算Cardinality的基础,而结果集的Cardinality则决定了CBO计算的成本值;

    BLOCKS:表的数据占用块的数量,标快数量决定CBO计算出来的对目标表做全表扫描的成本,表块数越多,全表扫描成本就越大。

    AVG_ROW_LEN:目标表平均行长度,可能会被Oracle用来计算目标表对应结果集所占用的内存大小。

    表的统计信息里面还有一些与CBO计算成本无关的,如表里空块的数量(EMPTY_BLOCKS),表里行迁移/行链接的数量(CHAIN_CNT),这些与成本计算无关,无法使用DBMS_STATS来收集,需使用ANALYZE收集。

     

    (二)表的历史统计信息查看

    表的历史统计信息可以通过AWR Repository的基表WRI$_OPTSTAT_TAB_HISTORY得到。表的列信息如下:

    OBJ# :对象id,可用过dba_objects查询

    SAVTIME :历史统计信息进入该视图的时间

    ROWCNT :行数

    BLKCNT :块数

    AVGRLN :平均行长度:

    ANALYZETIME :收集该统计信息的时间

    每行记录代表了从ANALYZETIME到SAVTIME这段时间表的统计信息,见下图:

    clipboard

    【完】

  • 相关阅读:
    web 服务器安全防范
    Liunx 挂载磁盘
    服务器被挖矿
    PHP 实时生成并下载超大数据量的 Excel 文件
    liunx php-fpm
    Liunx PHP安装Redis扩展
    CentOS 安装Redis
    Window PHP安装Redis 扩展
    web开发
    汇合confluence
  • 原文地址:https://www.cnblogs.com/lijiaman/p/12994479.html
Copyright © 2011-2022 走看看