zoukankan      html  css  js  c++  java
  • 不能抛弃的analyze

    本文基于Oracle10g

    现在收集统计信息有两种方法,一是使用analyze命令,另外就是使用dbms_stats包,Oracle推荐使用dbms_stats来代替analyze

    还需要使用Analyze收集统计信息的有:

    1)      行迁移/行连接 信息。可以查看v$dba_tables.chain_cnt来确定表是否有行连接/行迁移。不过使用dbms_stats无法统计这个信息,必须使用analyze table table_name  compute statistics;或者analyze table table_name list chained rows into table_name;来收集。

    2)      Cluster tableCluster table 必须使用analyze命令收集统计信息。

    3)      Validate structureValidate structure这个命令通常用于验证索引结构信息。如果一个表上经常做delete操作,那么就需要经常对这个表上的索引进行结构验证,因为这个表上的索引可能需要重建。可以使用analyze index  index_name validate structure offline;注意一定是要以offline(默认)方式收集统计信息,如果以online方式收集统计信息,那么就无法在index_stats中查找到刚才收集到的统计信息。Online方式收集统计信息不会对表加lock。而以offline方式收集统计信息会对表加lock,可能对性能有影响,一般是在系统处于空闲状态收集统计信息。

    有可能需要rebuild的索引:可以查看index_stats.height ,如果高度大于等于4就可能需要rebuild,另外一个就是index_stats.del_lf_rows/index_stats.lf_rows>0.2也就是说有20%的数据被删除了,那么这个索引也需要rebuild

  • 相关阅读:
    【Exgcd】斩杀线计算大师
    【DP】操作集锦
    【DP】被3整除的子序列
    【DFS序】【CF-1328E】Tree Queries
    【规律】【CF1327-D】Carousel
    Luogu P4774 屠龙勇士
    LOJ 10149 凸多边形的划分
    Luogu P4036 火星人
    Luogu P3193 GT考试
    CF 986C AND Graph
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330616.html
Copyright © 2011-2022 走看看