11G新特性 -- Statistics Preferences
2024-08-24 02:04:59
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()
TABLE_NAME NOT NULL VARCHAR2()
PREFERENCE_NAME VARCHAR2()
PREFERENCE_VALUE VARCHAR2() 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
最新文章
- wpf:样式(转)
- sprint3(第九天)
- Apache Spark源码走读之11 -- sql的解析与执行
- spring源码学习【准备】之jdk动态代理和cglib动态代理的区别和性能
- C语言宏与单井号(#)和双井号(##)
- 如何生成log新信息背景图片和在图片上添加水印
- [LeetCode]题解:005-Longest Palindromic Substring优化
- 14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预读
- RF环境安装-mac-osx10.10-基础环境-安装指南
- putty 使用 注意事项
- web从入门开始(1)------简介
- 【2017-05-05】timer控件、三级联动、帐号激活权限设置
- Retrofit2.0源码解析
- Tomcat下的Server.xml配置文件详解
- jsp的四种范围
- Azure SQL Virtual Machine报Login failed for user 'NT Service\SqlIaaSExtension'. Reason: Could not find a login matching the name provided
- Haskell语言学习笔记(19)File IO
- BZOJ1801或洛谷2051 [AHOI2009]中国象棋
- Express application generator的使用
- oracleXE默认的管理员登录用户