Oracle 11g R1中的统计收集增强
2008-09-02 12:45:57 来源:WEB开发网挂起的统计
在以前的数据库版本中,当收集到新的优化器统计信息时会自动发布。在11g中,这仍然是默认的动作,但你多了一个选择,你可以将最新的统计信息挂起,直到人为地发布它们。DBMS_STATS.GET_PREFS函数运行你检查“PUBLISH”属性,查看统计信息是否已经自动发布。默认返回的值为TRUE,意味着已经自动发布了,而FALSE表示它还处于挂起状态,等待发布。
selectDBMS_STATS.get_prefs(’PUBLISH’)FROMdual;
DBMS_STATS.GET_PREFS(’PUBLISH’)
-------------------------------------------
TRUE
1rowselected.
SQL>
使用存储过程DBMS_STATS.SET_TABLE_PREFS可以重新设置“PUBLISH”属性:
--NewstatisticsforSCOTT.EMParekeptinapendingstate.
execDBMS_STATS.set_table_prefs(’SCOTT’,’EMP’,’PUBLISH’,’false’);
--NewstatisticsforSCOTT.EMParepublishedimmediately.
execDBMS_STATS.set_table_prefs(’SCOTT’,’EMP’,’PUBLISH’,’true’);
使用[DBA|ALL|USER]_TAB_PENDING_STATS和[DBA|ALL|USER]_IND_PENDING_STATS视图可以看到未发布的统计。
DBMS_STATS包允许你发布挂起的统计或将它们删除,如:
--Publishallpendingstatistics.【发布所有挂起的统计】
execDBMS_STATS.publish_pending_stats(NULL,NULL);
--Publishpendingstatisticsforaspecificobject.【发布特定对象挂起的统计】
execDBMS_STATS.publish_pending_stats(’SCOTT’,’EMP’);
--deletependingstatisticsforaspecificobject.【删除特定对象挂起的统计】
execDBMS_STATS.delete_pending_stats(’SCOTT’,’EMP’);
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接