首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oracle中为1GB大小的数据库收集表统计信息的理想频率

在Oracle中为1GB大小的数据库收集表统计信息的理想频率
EN

Database Administration用户
提问于 2013-04-26 07:11:55
回答 1查看 2.3K关注 0票数 0

我想知道在模式中分析表的理想频率应该是什么。数据库大小为1GB。

目前频率设置为7天,大约需要40分钟才能完成。数据量不是很大。

请让我知道如何优化它?

应该为DBMS_STATS.GATHER_TABLE_STATS设置哪些选项和值。

EN

回答 1

Database Administration用户

发布于 2013-04-26 09:24:03

以下是一些需要考虑的问题:

  1. 在收集统计数据时,您是否使用了适当的估计值?人们常常手工将估计值设置为一个值,而不考虑是否能够以较低的数量获得类似的精度水平。一个很好的测试是以不同的估计百分比收集统计数据,从很低的水平开始增长。0.1%,0.5%,1%,3%,6%,10%。使用stattab参数将stats结果定向到不同的表,并对它们进行比较。
  2. 你需要直方图吗?如果您正在使用OLTP应用程序,那么很可能不会。
  3. 数据变化的频率有多大?表监视可以用来帮助判断什么时候应该收集统计数据--如果一个表变化非常迅速和频繁(例如数据加载中使用的临时表),那么删除这些统计数据并锁定它们是有帮助的,因为动态采样将为您完成这项工作,并且您不会浪费时间来分析您不需要的数据。

或者只需使用自动选项,监视它以查看是否存在值得手动干预的情况。

考虑到这些是DAC元数据表,我建议您为它们设置监视,并使用自动统计数据收集作业来收集过时的统计数据:http://docs.oracle.com/cd/E11882_01/server.112/e 16638/stats.htm#i 41282

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/40981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档