如何理解ORACLE表统计信息与列统计信息、索引统计信息

发布时间:2021-11-12 15:17:08 作者:柒染
来源:亿速云 阅读:192

如何理解ORACLE表统计信息与列统计信息、索引统计信息,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

ORACLE表统计信息与列统计信息

我们在分析某些语句的性能时,会分析一些信息。像表、列、索引、直方图等等,本篇主要讲表与列、索引的统计信息收集与分析。

一、表统计信息

  1. 1. 表已创建,需要收集统计信息

  2. BEGIN

  3. DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => '',

  4.                                 TABNAME => '',

  5.                                 ESTIMATE_PERCENT => 100,

  6.                                 METHOD_OPT => 'for all columns size skewonly',

  7.                                 CASCADE => TRUE);

  8. END;


 2. 查看表的统计信息用dba_tab_statistics。

  1. col OWNER for a16

  2. col table_name for a20

  3. col PARTITION_NAME for a18

  4. col OBJECT_TYPE for a12

  5. col LAST_ANALYZED for a20

  6. SELECT OWNER,TABLE_NAME,PARTITION_NAME,OBJECT_TYPE,NUM_ROWS, BLOCKS, EMPTY_BLOCKS, AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,to_char(LAST_ANALYZED,'yyyy-mm-dd hh34:mi:ss') LAST_ANALYZED,USER_STATS

  7.   FROM DBA_TAB_STATISTICS WHERE TABLE_NAME = 'MSTB_ORDER_HEADER' ;


  8. OWNER            TABLE_NAME  PARTITION_NAME OBJECT_TYPE    NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN LAST_ANALYZED USER_S
    ---------------- ----------- -------------- ------------ ---------- ---------- ------------ ---------- ---------- ----------- ------------- ------
    POS_ORDER        MSTB_ORDER_                TABLE          40445748    1928239            0          0          0         317 2016-01-07 17 NO
    POS_ORDER        MSTB_ORDER_ P_MAXVALUE     PARTITION             1         19            0          0          0         197 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2009_10  PARTITION             0          0            0          0          0           0 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2009_11  PARTITION             0          0            0          0          0           0 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2009_12  PARTITION             0          0            0          0          0           0 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_1   PARTITION             0          0            0          0          0           0 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_10  PARTITION         73496       3299            0          0          0         260 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_11  PARTITION         69908       3138            0          0          0         259 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_12  PARTITION         66918       3018            0          0          0         260 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_6   PARTITION         45502       1940            0          0          0         256 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_7   PARTITION         53236       2279            0          0          0         256 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_8   PARTITION         52568       2279            0          0          0         254 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2012_9   PARTITION         71614       3219            0          0          0         260 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2013_1   PARTITION         72958       3293            0          0          0         260 2016-01-07 16 NO
    POS_ORDER        MSTB_ORDER_ P_MOH_2013_10  PARTITION         75330       3449            0          0          0         261 2016-01-07 16 NO



  9. 关于每一列的解释联机文档上都有(http://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_2114.htm#REFRN20376)

  10. 这里blocks是高水位以下的数据块数,empty_blocks是高水位以上的数据块数。

  11. Dbms_stats不计算EMPTY_BLOCKS、AVG_SPACE、CHAIN_CNT。可以使用ANALYZE收取(ANALYZE TABLE <tabname> COMPUTE STATISTICS)</tabname<>

  12. chain_cnt字段表示行迁移和行链接的数量信息.



二、列统计信息

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. ORACLE索引失效,更新统计信息
  2. oracle 12c 关闭统计信息收集和启用统计信息收集

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:matter js是什么

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》