Oracle之统计信息

Posted dayu-liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle之统计信息相关的知识,希望对你有一定的参考价值。

1、有关OPTIMIZER_USE_PENDING_STATISTICS的问题。

[email protected]> SELECTDBMS_STATS.GET_PREFS(‘PUBLISH‘) PUBLISH FROM DUAL;


PUBLISH
----------------------------------------------------------------------------------------------------
TRUE


返回为true或者false。True表示新的统计信息收集后即发布,也就是说优化器会使用新的统计信息来生查询计划,False表示收集的统计信息会被放入USER_TAB_PENDING_STATS和 USER_IND_PENDING_STATS,并且不会立刻被优化器使用,为待定状态。


可以使用下面的包来改变各个级别(global,schema,table)的默认publish选项。
Global
exec Dbms_stats.set_global_prefs(pname =>‘PUBLISH‘ ,pvalue=> ‘FALSE‘) ;


Schema
exec dbms_stats.set_schema_prefs(ownname => ‘DEXTER‘,pname=>‘PUBLISH‘ ,pvalue => ‘TRUE‘) ;


table
Exec dbms_stats.set_table_prefs(‘DEXTER‘, ‘PUBLISH_TEST‘,‘PUBLISH‘, ‘false‘);

 

以上是关于Oracle之统计信息的主要内容,如果未能解决你的问题,请参考以下文章

Oracle之自动收集统计信息

Oracle 11g 之自动收集统计信息

Oracle之统计信息

Oracle执行计划突变诊断之统计信息收集问题

oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息

SQL执行异常系列之——统计信息不准