zoukankan      html  css  js  c++  java
  • 多个表关联或者有视图套视图,快速检查SQL语句中所有的表统计信息是否过期

    多个表关联或者有视图套视图,快速检查SQL语句中所有的表统计信息是否过期
    现有如下SQL:
    select * from emp e,dept d where e.deptno=d.deptno;
     
    先用explain plan for命令,在plan_table中生成SQL的执行计划:
     
    SQL> explain plan for select * from emp e,dept d where e.deptno=d.deptno;
     
    Explained.
     
    然后使用下面脚本检查SQL语句中所有的表的统计信息是否过期:
     
    SQL> select owner, table_name, object_type, stale_stats, last_analyzed
    from dba_tab_statistics
    where (owner, table_name) in
    (select object_owner, object_name
    from plan_table
    where object_type like '%TABLE%'
    union
    select table_owner, table_name
    from dba_indexes
    where (owner, index_name) in
    (select object_owner, object_name
    from plan_table
    where object_type like '%INDEX%'));
     
    OWNER TABLE_NAME OBJECT_TYP STALE_STATS LAST_ANALYZED
    ---------- ---------- ---------- --------------- ------------------
    SCOTT DEPT TABLE NO 05-DEC-16
    SCOTT EMP TABLE YES 22-OCT-16
     
     
    最后可以使用下面脚本检查SQL语句中表统计信息的过期原因:
     
    select *
      from all_tab_modifications
     where (table_owner, table_name) in
           (select object_owner, object_name
              from plan_table
             where object_type like '%TABLE%'
            union
            select table_owner, table_name
              from dba_indexes
             where (owner, index_name) in
                   (select object_owner, object_name
                      from plan_table
                     where object_type like '%INDEX%'));
     
     
     
  • 相关阅读:
    ZKW费用流修正
    BZOJ 1060 [ZJOI2007]时态同步
    BZOJ 1059 [ZJOI2007]矩阵游戏
    腾讯WEB前端开发面试经历,一面二面HR面,面面不到!
    亲历腾讯WEB前端开发三轮面试经历及面试题
    2015大型互联网公司校招都开始了,薪资你准备好了嘛?
    10款最好的 Bootstrap 3.0 免费主题和模板
    python3之urllib基础
    python3下应用requests
    python心得二(编码问题)
  • 原文地址:https://www.cnblogs.com/liang545621/p/12611893.html
Copyright © 2011-2022 走看看