内容会持续更新!!
一. 优化器与成本
1. 优化器
优化器是数据库核心功能,也是最为复杂的一块。负责将用户提交的SQL语句根据各种判断标准,制定出最优的执行计划,并交给执行器来执行。
成本是优化器(基于成本的优化器)中反映SQL执行代价的一个指标。
1.1 RBD
基于规则的优化器(Rule Based Optimizer,RBD)。内部采用规则列表,等级越高的规则越会被优先采用。
1.2 CBD
基于成本的优化器(Cost Based Optimizer,CBD)。成本越低,SQL执行的代价越小, 则是一个更优的执行路径。CBD基本上是首选。
2. 成本
成本是优化器(基于成本的优化器)中反映SQL执行代价的一个指标。
是指花费在单数据块读取上的时间,加上花费在多数据块上的时间,再加上所需的CPU处理时间,然后将总和除以单数据块读取所花费的时间。
在执行计划中,可以看到成本(cost)那一列的值。
二. 执行计划
1. 执行计划
Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划。