分析分区需要几个小时。是否有任何命令可以并行分析表的分区?
问问题
380 次
1 回答
1
如果您DBMS_STATS
用来收集统计数据,您有几个选择。如果您要进行显式调用,DBMS_STATS.GATHER_TABLE_STATS
并且DBMS_STATS.GATHER_INDEX_STATS
可以使用该degree
参数来设置并行度。您还可以使用SET_*_PREFS
DBMS_STATS 中的各种例程设置默认并行度,按对象类型或整个数据库 ( SET_DATABASE_PREFS
) 设置默认并行度。例如
DBMS_STATS.SET_DATABASE_PREFS('DEGREE', '10');
在对 DBMS_STATS.GATHER_TABLE_STATS 的后续调用中将默认设置为 10。或者您可以只使用 GATHER_TABLE_STATS 的度数参数,如
DBMS_STATS.GATHER_TABLE_STATS(ownname => 'A_SCHEMA',
tabname => 'A_TABLE',
degree => 10);
如果你ANALYZE
用来分析你的表——好吧,如果我没记错的话,你可能应该切换到 DBMS_STATS,因为自 Oracle 9 以来 ANALYZE 已经过时了。该DBMS_STATS
包有很多带有很多参数的例程,但大多数参数都有合理的默认值,因此不需要指定。
您可以尝试在dba.stackexchange.com上重新发布此问题
分享和享受。
于 2012-06-15T10:52:44.377 回答