日期:2014-05-16  浏览次数:20599 次

[每日一题] 11gOCP 1z0-052 :2013-09-6 DBMS_STATS.SET_TABLE_PREFS()使用...............................A37

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11358457



正确答案:D

 

Oracle 11g新特性之统计信息收集

 

   在以前的数据库版本中,当收集到新的优化器统计信息时会自动发布。在11g中,这仍然是默认的动作,但你多了一个选择,

你可以将最新的统计信息挂起,直到人为地发布它们。DBMS_STATS.GET_PREFS函数运行你检查“PUBLISH”属性,查看统计信息

是否已经自动发布。默认返回的值为TRUE,意味着已经自动发布了,而FALSE表示它还处于挂起状态,等待发布。

  检查当前数据库的PUBLISH”属性:

gyj@OCM> col get_prefs for a50
gyj@OCM> SELECT DBMS_STATS.get_prefs('PUBLISH','SH','CUSTOMERS') get_prefs FROM dual;

GET_PREFS
--------------------------------------------------
TRUE

使用存储过程DBMS_STATS.SET_TABLE_PREFS可以重新设置“PUBLISH”属性,设为FALSE表示它还处于挂起状态,等待发布:

gyj@OCM> BEGIN
  2  DBMS_STATS.SET_TABLE_PREFS('SH', 'CUSTOMERS', 'PUBLISH', 'false');
  3  END;
  4  /

PL/SQL procedure successfully completed.

gyj@OCM> SELECT DBMS_STATS.get_prefs('PUBLISH','SH','CUSTOMERS') get_prefs FROM dual;

GET_PREFS
--------------------------------------------------
FALSE

参考官方文档:

SET_TABLE_PREFS Procedure

This procedure isused to set the statistics preferences of the specified table in the specifiedschema.

Syntax

DBMS_STATS.SET_TABLE_PREFS (
    ownname    IN  VARCHAR2,
    tabname    IN  VARCHAR2,
    pname      IN  VARCHAR2,
    pvalue     IN  VARCHAR2);

Parameters

Table 141-93SET_TABLE_PREFS Procedure Parameters

Parameter

Description

ownname

Owner name

tabname

Table name

pname

Preference name. The default value for following preferences can be set:

·         CASCADE

·         DEGREE

·         ESTIMATE_PERCENT

·         METHOD_OPT

·         NO_INVALIDATE

·         GRANULARITY

·         PUBLISH

·         INCREMENTAL

·         STALE_PERCENT

.

CASCADE - Determines whether or not index statistics are collected as part of gathering table statistics.

.

DEGREE - Determines degree of