Oracle数据库性能优化方法论和最佳实践
上QQ阅读APP看书,第一时间看更新

1.5.2 变化检测和性能优化

1.4节中有介绍,除了从来未达到性能期望的业务系统的优化工作未涉及变化以外,其他都会涉及变化。可以这么说,没有无缘无故的性能问题,任何性能问题都是由变化引起的,包括业务量的变化、访问量的变化、并发量的变化、数据量的变化、数据结构的变化、代码的变化等,任何交易都是建立在一定的上下文环境中的,当上下文环境发生变化的时候,其交易性能必然也发生变化。相信大部分人都明白,虽然知道性能问题是由于变化引起的,但关键是我们不知道哪些发生了变化,不能在性能出现问题的时候大声地质问:导致性能变异的变化给我站出来。大家知道,即使在现实生活中,某个人做了一些事情导致了严重的事件发生,他在多数情况下也会躲起来,甚至会故意混淆视听,告诉你是某某人做的,这也是我们这个世界需要警察的原因之一。

性能异常是由于某种或多种变化引起的,这个观点再怎么强调都不过分,甚至可以说本书就是围绕这个观点展开的。一旦确定了这个观点,性能优化的工作难度将大幅度下降,我们的任务也就变成了确定影响性能的因子。当性能异常的时候,只要检测这些性能因子的变化,就可以找到性能异常的原因,知道了原因就可以采取措施进行改善。幸运的是,Oracle数据库在这方面表现得如此出色,它提供了大量的性能检测因子,并且提供了不同时间度量的检测手段,使Oracle数据库的性能优化工作显得比较轻松。在后续的章节中,将陆续涉及这些性能检测因子,本书主要围绕这些性能检测因子来进行性能问题的诊断和优化。