已索引
- 你可能希望自己能识别所有问题,但这是不可能的。
- 不是所有的数据库都需要(能够)优化,所有优化工作须是由业务需要驱使的(个人并不推荐自动优化)。谨记,优化有风险,实施需谨慎!—— 生产变更本身就有风险,优化采用的技术本身也存在一定的风险。
- 数据库库的性能,大多数都不是从数据库层面能够解决的(但是 DBA 要能够定位)。
- 从优化的角度讲,Oracel的等待事件、Latch等指标高,并不是问题的根源,而只是问题的表象。往往在应用层进行合理的优化,这些指标就会随之下降或者消失,直接了当且效果明显。
- 优化要有一个度,并不是“没有最优,只有更优”,优化要有有效的目标(具体、可量化、可实现),常见的要求“越快越好”、“尽可能快”等都是不合理的。
- 不要迷信优化器,优化器永远无法知道你的业务需求,高效的SQL来自于对业务的理解和对SQL执行过程的理解。
- Oracle优化技术,无外乎两种策略,一种是尽量少做事儿,一种是要做的事儿不能少,但是让更多的资源来做,低资源消耗并不是优化的目标,资源就是用来用的,要合理并充分地使用。