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

  • 相关阅读:
    Attributes in C#
    asp.net C# 时间格式大全
    UVA 10518 How Many Calls?
    UVA 10303 How Many Trees?
    UVA 991 Safe Salutations
    UVA 10862 Connect the Cable Wires
    UVA 10417 Gift Exchanging
    UVA 10229 Modular Fibonacci
    UVA 10079 Pizza Cutting
    UVA 10334 Ray Through Glasses
  • 原文地址:https://www.cnblogs.com/abclife/p/4726336.html
Copyright © 2011-2022 走看看