【问题标题】:Can we use parallelism in analyzing partitions of a table?我们可以在分析表的分区时使用并行性吗?
【发布时间】:2012-06-15 06:30:20
【问题描述】:

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

【问题讨论】:

  • 您使用的是哪个命令:ANALYZE 还是 DBMS_STATS?

标签: oracle indexing database-partitioning


【解决方案1】:

如果您使用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.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 上重新发布此问题

分享和享受。

【讨论】:

  • 嘿@BobJarvis,因为你有超过 3k 的代表,你可以投票关闭/迁移一个问题 - juck 点击关闭 -> Offtopic -> dba.stackexchange.com - 这将迁移问题和Database Administrators 的所有答案,而不是 OP 必须重新发布。
  • @Sathya - 在这种情况下,我决定不投关闭和迁移投票,因为 OP 是一个相对较新的用户,我不想阻止他/她发帖或混淆他/她有问题突然消失。 YMMV。
  • 好的,但是一旦迁移了问题,就会自动重定向到迁移的站点。只是想我会让你知道。干杯
猜你喜欢
  • 1970-01-01
  • 2015-11-22
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
相关资源
最近更新 更多