问题描述
你好,
我对自己遇到的事情很好奇。发生以下情况:
从对偶中选择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.
我在正确的地方寻找此信息吗?
我对自己遇到的事情很好奇。发生以下情况:
从对偶中选择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部分。
在早期版本中,统计的最大成本是计算每列不同值的数量。每列的种类很大。但是我们设法想出了一种无需排序即可计算该值的方法-只需从上到下扫描一次表格即可。
查看此博客文章
https://blogs.oracle.com/optimizer/entry/how_does_auto_sample_size
并检查底部的11g部分。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




