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

Oracle DBMS_STATS.AUTO_SAMPLE_SIZE似乎总是生成100%

askTom 2017-03-21
404

问题描述

你好,

我对自己遇到的事情很好奇。发生以下情况:

从对偶中选择dbms_stats.get_param ('estimate_proced');

自动样品大小

从dba_tab_statistics中选择 *,其中sample_size!= num_rows;

没有选择行

我们有超过200个表,所有表的大小各不相同,这个数据库大约7 TB,表包含多达6亿行。

I am very curious why it appears that 自动样品大小 is using an ESTIMATE_PERCENT=>100 when gathering the stats for every single table.

我在正确的地方寻找此信息吗?

专家解答

这是设计使然。听起来很糟糕,但实际上很酷。

在早期版本中,统计的最大成本是计算每列不同值的数量。每列的种类很大。但是我们设法想出了一种无需排序即可计算该值的方法-只需从上到下扫描一次表格即可。

查看此博客文章

https://blogs.oracle.com/optimizer/entry/how_does_auto_sample_size

并检查底部的11g部分。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论