HowdoestheMETHOD_OPTparameterwork――Method_opt参数应用(二)

2015-01-25 21:13:06 · 作者: · 浏览: 8
tats('SH', 'SALES', method_opt => 'FOR ALL COLUMNS SIZE 254 FOR COLUMNS SIZE 254(PROD_ID, CUST_ID)'); END; /
   PL/SQL procedure successfully completed.    

?

?

SQL> SELECT column_name, num_distinct, histogram FROM user_tab_col_statistics WHERE table_name = 'SALES';

?

\

在收集统计信息的语句中, 我们不建议在 method_opt 中直接指定参数, 而建议使用 dbms_stats.set_table_prefs 存储过程

   BEGIN
       dbms_stats.Set_table_prefs('SH', 'SALES', 'METHOD_OPT', -
       'FOR ALL COLUMNS SIZE 254 FOR COLUMNS SIZE 1 PROD_ID');
   END;
    /  

?

总结, GATHER_DICTIONARY_STATS, GATHER_DATABASE_STATS, 和 GATHER_SCHEMA_STATS 存储过程只接受 “ FOR ALL [INDEXED|HIDDEN] columns ” 语法, 不能指定具体的列名.

GATHER_TABLE_STATS procedure 存储过程可以接受以 “for columns ” 格式的额外参数, 使用这种语法可以控制以下内容:

哪些列将收集基本的统计信息 哪些列将收集直方图以及指定直方图的桶数 收集扩展的统计信息