WEB开发网
开发学院数据库Oracle Oracle 11g R1中的统计收集增强 阅读

Oracle 11g R1中的统计收集增强

 2008-09-02 12:45:57 来源:WEB开发网   
核心提示:挂起的统计在以前的数据库版本中,当收集到新的优化器统计信息时会自动发布,Oracle 11g R1中的统计收集增强,在11g中,这仍然是默认的动作,等待发布,selectDBMS_STATS.get_prefs(’PUBLISH’)FROMdual;DBMS_STATS.GET_PREFS(&r

挂起的统计

在以前的数据库版本中,当收集到新的优化器统计信息时会自动发布。在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’);

1 2 3 4  下一页

Tags:Oracle 统计 收集

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接