• [统计信息系列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

    【完】

  • 相关阅读:
    x64 平台开发 Mapxtreme 编译错误
    hdu 4305 Lightning
    Ural 1627 Join(生成树计数)
    poj 2104 Kth Number(可持久化线段树)
    ural 1651 Shortest Subchain
    hdu 4351 Digital root
    hdu 3221 Bruteforce Algorithm
    poj 2892 Tunnel Warfare (Splay Tree instead of Segment Tree)
    hdu 4031 Attack(BIT)
    LightOJ 1277 Looking for a Subsequence
  • 原文地址:https://www.cnblogs.com/lijiaman/p/12994479.html
Copyright © 2020-2023  润新知