`
jackiezy
  • 浏览: 43473 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

TOP 第四章 之 保持统计信息时效性的策略

阅读更多

继续贴出 Troubleshooting Oracle Performance 一书第四章《系统和对象统计信息》的翻译稿的部分节录。在前面几章的部分章节放出来后,收到了很多朋友的意见和建议,在此一并谢过!翻译更多是考量译者的中文水平,现在我们几位译者对此是深有体会。本章初稿译者朱一(@mujiang)



保持统计信息时效性的策略(Strategies for Keeping Object Statistics Up-to-Date)

工具包dbms_stats提供了很多管理对象统计信息的功能。那么我们该如何使用它来达到最佳配置呢?这个问题很难回答。很可能就没有确定的答案。就是说,没有一种方式适用于所有情况。让我们研究一下该如何着手解决这个问题。

基本准则是,或许是最重要的一个,查询优化器需要通过对象统计信息知道数据在数据库里面是如何存储的。因此,修改数据以后,同样需要刷新对象统计信息。我提倡定期收集统计信息。反对者的理由是数据库运行好好的,没必要重新收集统计信息。这种策略引起的常见问题是,一些对象统计信息依赖于实际存储的数据值,比如修改了最大/最小值,这样的修改不会经常发生在一些典型的表里面,但是这些数据改变是危险的,它们被应用程序频繁的使用(引用过时的统计信息)。实践当中,太多的问题是因为对象统计信息过时引起的。

显而易见,反复收集静态数据的对象统计信息是没有意义的。只应该对统计信息陈旧的对象进行收集。所以,需要利用好每张表的修改次数的统计记录。这样,我们只需要收集哪些数据发生了显著变化的表的统计信息。默认情况下,当一个表里面有超过10%的行被修改后,就认为它的统计信息是过时的(陈旧的)。缺省值就不错,在Oracle 11g以后,这个缺省值可以修改。

收集统计信息的频率也值得探讨。从每个小时收集到每个月,或是更少,均看到过成功案例。其实这个真的依赖于数据。当用并不陈旧的表统计信息作为基准时,太长的时间间隔引起过多表的统计信息陈旧,就要花更多的时间收集统计信息。因此我喜欢收集得稍微频繁一些,分散负载,尽量缩短每次收集任务的时间。如果你的系统每天或每周有一些时段负荷比较低,就在这些时段运行计划的收集作业。如果你的系统是真正的7x24的系统,最好频繁的运行收集任务(注),每天运行多次,尽量多分散负载。

如果有好的理由不需要收集一些表的统计信息,在Oracle 10g以后,可以锁定对象统计信息。计划收集作业就会跳过这些对象。这样远远好于禁止收集整个数据库的统计信息。遗憾的是,在Oracle 9i中不能锁定对象统计信息,变通方法是,利用表的监控属性,禁止这些不需要收集统计信息的表的监控,收集模式(schema)或者数据库的统计信息的作业就会跳过这些表。

如果你有批处理任务一次加载、修改很多数据,干脆不要等待调度任务来收集这些对象的统计。直接将对这些对象的收集统计任务加到批处理任务的最后面。也就是说。如果你知道一些表的数据会被大量修改。修改完数据后,立刻收集对象统计信息。

从Oracle 10g开始,应该尽可能的利用默认的收集作业。为满足需求,应该进行检查默认的配置,如果必要的话,进行必要的变更。既然只有Oracle 11g以后可以在对象级别配置收集任务,你可以在缺省收集作业之前运行自定义的作业以收集一些有特殊需求的表的统计信息。这样,缺省收集作业仅操作统计信息过时的表,跳过有特殊需求的表。锁定特性也可以确保只有特定的收集作业才可以重新收集那些关键表的统计信息。

如果收集统计信息导致了低效的执行计划,有两个办法。一是恢复以前合适的统计信息来修复问题。二是诊断查询优化器为何使用新收集的统计信息得出了低效的执行计划。首先要检查统计信息是否正确的描述了数据的分布。比如,采样新的数据分布得到了不同的直方图。有可能是收集本身,或者是收集用到的一个参数的问题,导致了坏的统计信息。如果统计信息是可信的,有两种可能导致低效的执行计划:错误的配置了查询优化器,或者优化器犯了一个错误。对于后者我们无能为力,而对于前者,我们能找到解决办法。无论如何,你应该避免仓促的下结论,推断说是收集统计信息引起的问题,进而停止收集统计信息。

最佳实践是使用工具包dbms_stats收集对象统计信息。然而,有些情况下,正确的对象统计信息反而误导查询优化器。有一个常见的案例,比如历史数据必须保留很长一段时间(比如有些类型的数据在瑞士必须保留十年),如果随着时间的推移,数据分布基本不变,用工具包dbms_stats收集对象统计信息会运行良好。相反,如果每个时期有不同的数据分布,应用程序仅仅使用全部数据的一个子集,那么手工修改统计信息使它反映最相关的数据就是明智之举。换句话说,如果你知道工具包dbms_stats忽略了或者不能发现最相关的数据分布,告诉查询优化器回避对象统计信息就是恰当的。


注:对此,译者有不同的观点。对于比较繁忙的在线系统,数据变化可能频繁,但数据特征的变化未必频繁。不管如何,频繁收集统计与否,DBA 必需熟知两种可能带来的影响。(译者注)

--EOF--

九十年前的今天,是个特殊的日子。

分享到:
评论

相关推荐

    信息的时效性与信息工作的及时性.pdf

    【信息的时效性】 信息的时效性是衡量信息价值的重要指标,它关乎信息从产生到被使用的时间间隔以及在此过程中的效率。目前的理解通常包括三个方面:一是信息从产生到被利用的时间长度,越短则信息越新鲜,时效性越...

    数字化输配电网络信息时效性判定技术研究

    在此基础上,统计传输电子量条件,通过确定时效配电位置的方式,计算关联性物理判定系数,实现数字化输配电网络信息的时效性判定技术研究。对比实验结果表明,与GTHA判定手段相比,应用数字化判定方法后,电量信息的...

    OA流程时效性分析报告.docx

    对于具体流程节点,报告列举了超过100条未归档数据的节点,并按类型分类,包括信息知会类、常规工作类(时效性强和弱)、制度及行政文书类等。这些节点往往是流程停滞的主要原因。 数据分析发现,流程未归档的原因...

    面向6G网络的信息时效性度量及研究进展.docx

    信息年龄是衡量信息时效性的一种度量,由接收端接收到的最新数据包的产生时间与当前时间之差定义。它反映了接收端信息的新鲜度,随着无新数据接收的时间增长而增加。平均信息年龄和峰值信息年龄是信息年龄分析中的...

    第四章信息获取. - 第四章 信息和信息化管理.ppt

    《第四章 信息和信息化管理》主要探讨了信息在企业管理中的重要性和处理流程。信息是数据经过加工处理后,能够反映客观事物规律并为决策提供依据的数据。它分为有形和无形两个方面,有形信息如销售额、存货成本等...

    统计云服务平台的构建与统计服务能力提升策略.pdf

    首先,统计云服务平台的构建基于云计算的技术优势,能够解决传统统计工作中数据处理的时效性、准确性、全面性等挑战。在大数据时代,海量多样的数据给统计工作带来了巨大的压力。云计算技术可以通过其强大的数据处理...

    论文研究-应急响应程序时效性评估函数构造与性质分析.pdf

    论文研究-应急响应程序时效性评估函数构造与性质分析.pdf, 应急响应程序是应急预案中的核心部分,应急响应程序时效性评估是其在线动态调整的重要基础,评估关键在于应急...

    api验证接口参数加密+时效性验证+私钥+Https

    时效性验证则是为了防止恶意攻击者利用已过期的请求执行操作。通常,服务器会在生成的请求令牌或API密钥中包含一个时间戳和有效期。客户端在发送请求时,会附带这个时间戳,服务器端接收到请求后,会检查时间戳是否...

    信息时代报纸时效性浅谈.pdf

    在信息时代,报纸的时效性面临着前所未有的挑战。随着互联网和电子媒体的快速发展,新闻传播的速度和即时性有了显著提升,新闻定义也发生了变化,从“新近发生的事实报道”转变为“正在发生的事实报道”。面对广电...

    运输时效性分析.doc

    宏事伟业物流公司运输时效采取措施后的改进情况显示,平均运输时效从 6 天降低到 4 天,但客户还是对改进后的时效不满意,因为客户关注的是每一单的时效,客户会想起最长的时效 8 天。 影响运输时效的因素很多,...

    第四章信息化和信息化管理.pptx

    【第四章 信息化和信息化管理】 信息化管理是现代企业和社会发展的重要组成部分,它涉及到如何有效收集、处理、传播和利用信息,以支持决策制定、提高效率和创新。在这个过程中,信息被视为与物质和能源同等重要的...

    某保险股份有限公司统计与信息化管理办法.doc

    第四章至第六章未在提供的内容中提及,但可以推测可能涉及统计工作的监督与管理、统计档案管理和附则等内容,包括统计工作的监督机制、档案的保存和管理规定以及对本办法的解释和修订等。 总的来说,这份办法为保险...

    第四章信息化和信息化管理.ppt

    【第四章信息化和信息化管理】 信息化管理是现代组织管理和决策的核心,它涉及到如何有效地收集、处理、传播和利用信息,以提高工作效率、决策质量和创新能力。信息化管理不仅关注技术的应用,还包括对信息的理解、...

    统计分析信息拷贝

    - **统计时间**:与表的统计时间类似,用于跟踪信息的时效性。 3. **ORACLE的统计扩展** - **列及数据不对称信息**:有助于ORACLE理解数据分布,比如是否存在倾斜,这对选择合适的索引策略至关重要。 - **索引...

    信息化环境下企业全面预算管理的时效性探究.docx

    信息化环境下,企业全面预算管理的时效性成为现代企业管理的关键议题。全面预算管理作为企业提升经济效益、优化资源配置、加强控制的重要手段,其有效性往往受限于信息技术的应用程度。本文将深入探讨信息化对于预算...

    高中信息技术必修第一章-信息与信息的特征

    高中信息技术课程的第一章主要探讨的是信息与信息的特征。这一章节旨在帮助学生理解信息的基本概念,以及信息在日常生活和科学中的重要性。首先,我们从一个关于感觉剥夺的实验出发,这个实验展示了信息对于人类生存...

Global site tag (gtag.js) - Google Analytics