优化器的执行逻辑讲得挺透彻的 PPT,适合搞 Oracle SQL 调优的朋友快速上手。
执行计划的生成机制说得比较细,尤其是对比了 RBO 和 CBO 两种优化方式。简单说,RBO是靠内置规则来定计划,比如看到索引就走索引;CBO就聪明多了,看统计信息、估算代价——代价高的方案自然就被 pass 掉。
比较实用的一点是,它提醒你要注意统计信息是不是过期了,这影响蛮大的。统计不准,优化器会选错路径,结果 SQL 慢得你都想重启数据库。CBO 现在是主流,Oracle 10g 开始就不支持 RBO 了,老系统上才偶尔能看到 RBO 影子。
内容还整理了一些相关资源,比如优化器选择、执行计划优化、还有执行计划的干预,每一篇都蛮有料。你在慢 SQL 时,顺手查一下这些文档,常常能找到灵感。
如果你刚开始接触 Oracle 调优,或者经常被“执行计划怎么这么怪”困扰,这份 PPT 还是值得看一遍的,至少你能搞清楚优化器到底在想啥。