SQL Server性能调优实战——执行计划分析
执行计划基本原理:
- 查询优化器只能基于成本选择出其认为成本最低的计划,但是这个成本评估和优化过程很消耗资源.
- 执行计划是由查询优化器输出,一般会权衡优化成本来选择合适的计划,因此输出的计划并不一定是最快或最好的。
执行计划的两个字段解释:
- Cpu time:表示当前语句所用到的scheduler的时间,也是在任务调度过程中,处于Running状态的Cpu消耗时间片总和。如果是并发操作,会将多个CPU时间片总和进行累加。
- 这也是为什么会出现Cpu time>elapsed time的原因。
- Elapsed time:表示当前语句从执行到最终返回结果的时间。
询优化器选择存储过程会遵循以下几个步骤:
- 当语句转化成分析树并被传入优化器,优化器会检查当前语句是否在有在内存中执行缓存,如果有,则执行该计划。
- 在行缓存情况下,判断当前语句是否只可能产生一个执行计划,或者只有一个执行计划是合适的(这种执行计划被称为一般/平凡执行计划Trivial Plan),如果是,则使用一般执行计划。

浙公网安备 33010602011771号