暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 无法并行收集表统计信息

askTom 2016-04-19
199

问题描述

嗨,

我们正在使用以下参数运行的是:

dbms_stats.gather_table_stats( ownname=>'所有者',
制表符名称=>'&table',估计百分比=>0.1 ,块样本=>真,
方法_opt=>'FOR所有索引的列大小AUTO',级联=>false ,粒度=>'ALL',度=>16) ;

即使我们将并行度指定为16 ,该过程最终会在单个会话中运行。实际上,当我检查正在运行的SQL时, Oracle似乎使用no并行提示显式阻止了并行执行:

选择/*+no_parallel(t)no_parallel_index(t) dbms_stats游标_共享_exact use_weak_name_resl动态_sampling(0) no_监视no_ssubrb_pad */count(*),...

我已经在几个不同的表上尝试了这个方法,得到了相同的结果。你能告诉我为什么会发生这种情况吗?我们可以做些什么来实现并行执行?

谢谢你。

专家解答

本白皮书中有关并行统计收集的一些好信息:

http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-optimizer-stats-04042012-1577139.pdf

如果没有并行操作,还需要检查几件事。

让我们知道你的去向。

顺便说一句,从11.2开始,估计“auto”(默认值)的百分比就是您想要的。请参见http://structureddata.org/2007/09/17/oracle-11g-enhancements-to-dbms_stats/有关详细信息
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论