我们可以使用并行性来分析表的分区吗?


分析

分区需要几个小时。是否有任何命令可以并行分析表的分区?

如果您使用DBMS_STATS来收集统计信息,则有几个选项。 如果要显式调用DBMS_STATS.GATHER_TABLE_STATSDBMS_STATS.GATHER_INDEX_STATS则可以使用 degree 参数来设置并行度。 您还可以通过使用 DBMS_STATS 中的各种SET_*_PREFS例程来设置默认值,以按对象类型或为整个数据库设置默认并行度 (SET_DATABASE_PREFS )。 例如

DBMS_STATS.SET_DATABASE_PREFS('DEGREE', '10');

将在后续对DBMS_STATS的调用中将度数设置为默认值 10。GATHER_TABLE_STATS。 或者你可以只使用度参数来GATHER_TABLE_STATS,如

DBMS_STATS.GATHER_TABLE_STATS(ownname => 'A_SCHEMA',
                              tabname => 'A_TABLE',
                              degree  => 10);

如果您使用ANALYZE来分析表-好吧,如果我没记错的话,您可能应该改用DBMS_STATS因为ANALYZE自Oracle 9以来已经过时了。 DBMS_STATS包有很多例程和很多参数,但大多数参数都有合理的默认值,因此不需要指定。

您可以尝试在 dba.stackexchange.com 上重新发布此问题

分享和享受。

相关内容

  • 没有找到相关文章

最新更新