zoukankan      html  css  js  c++  java
  • 11G新特性 -- Statistics Preferences

    Statistics Preferences新特性可以实现对指定对象进行信息收集。

    可以在table、schema、database、global级别设置statistics preference。 在database级别的statistics preference集会应用到数据库中的所有表;在global级别的statistics preference会应用到数据库中所有没有被设置statistics preference的表。

    preference集不同级别的优先级:table级别 > schema级别 > database级别 > global 级别。高优先级会override低优先级设置。

    查看当前数据库是否设置了statistics preference

    SQL> select * from dba_tab_stat_prefs;
    
    no rows selected
    
    SQL> desc dba_tab_stat_prefs
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     OWNER                                     NOT NULL VARCHAR2(30)
     TABLE_NAME                                NOT NULL VARCHAR2(30)
     PREFERENCE_NAME                                    VARCHAR2(30)
     PREFERENCE_VALUE                                   VARCHAR2(4000)
    
    SQL> 

    在11g中增加了三个选项:

    1.publish 取值为true、false。 收集到的统计信息是否存到数据字典中。在10g中是自动存到数据字典中,即自动发布;在11g中可以先现将统计信息置于pending状态(这些统计信息被称为pending statistics),确认对性能有提升后再发布。

    2.stale_percent 设置对象统计信息过期的阀值。自数据库统计对象收集后,对象中的行被修改的百分比超过该值就会被认为统计信息是过期的。

    3.incremental 是否进行增量收集

    语法示例:
    DBMS_STATS.SET_TABLE_PREFS (
        ownname    IN  VARCHAR2,        #Owner name
        tabname    IN  VARCHAR2,        #Table name
        pname      IN  VARCHAR2,        #Preference name
        pvalue     IN  VARCHAR2        #Preference value. If NULL is specified, it will set the Oracle default value.
    );
    
    SQL> exec dbms_stats.set_table_prefs('SCOTT','DEPT','PUBLISH','TRUE');
    
    PL/SQL procedure successfully completed.
    
    SQL> select dbms_stats.get_prefs('PUBLISH','SCOTT','DEPT') get_prefs from dual;
    
    GET_PREFS
    --------------------------------------------------------------------------------
    TRUE
    
    SQL> exec dbms_stats.set_table_prefs('SCOTT','DEPT','PUBLISH','FALSE');     设置“PUBLISH”属性,设为FALSE表示它还处于挂起状态,等待发布
    
    PL/SQL procedure successfully completed.
    
    SQL> select dbms_stats.get_prefs('PUBLISH','SCOTT','DEPT') get_prefs from dual;
    
    GET_PREFS
    --------------------------------------------------------------------------------
    FALSE
    SQL> select * from dba_tab_stat_prefs;
    
    OWNER                          TABLE_NAME                     PREFERENCE_NAME                PREFERENCE_VALUE
    ------------------------------ ------------------------------ ------------------------------ ------------------------------
    SCOTT                          DEPT                           PUBLISH                        TRUE
    
    SQL> 

    其他参考文档:
    dbms_stats.set_database_prefs
    dbms_stats.set_global_prefs procedure
    dbms_stats.set_schema_prefs procedure
    dbms_stats.set_table_prefs procedure

  • 相关阅读:
    Spring Boot 使用Redis
    openTSDB(转)
    httpClient 超时时间设置(转)
    HTTPClient 超时链接设置
    入坑python 自己写的小工具,纪念一下
    Linux下SVN创建新的项目
    java对象数组的概述和使用
    解决fastDFS客户端连接超时问题
    显示目录结构
    centos7开启80和8080端口
  • 原文地址:https://www.cnblogs.com/abclife/p/4726336.html
Copyright © 2011-2022 走看看