在执行查询时,我们有一个语句的估计子树成本,我们还可以查看例如CPU时间或逻辑读取。
估计的子树成本是否将获取锁和锁升级的成本纳入其公式中?另外,我认为管理锁的过程需要CPU。查询的CPU时间是否包括用于锁管理和锁定相关任务的CPU时间?
发布于 2021-06-19 18:58:16
估计子树代价是基于20年前的一台电脑上查询执行时间的查询代价的粗略估计。基于成本的查询优化器使用它来评估要选择的查询计划。
它是校准的,以考虑锁定成本,但可能是过于粗略的估计,以考虑锁升级。
实际查询计划的CPU成本是衡量查询成本的最佳方法,因为大多数查询操作最终都会消耗CPU时间。具体而言,CPU时间用于逻辑IO、锁定、读取数据页、执行计算和比较等。
查询运行时间中没有CPU时间考虑的唯一部分是等待,等待通常不是查询固有的,而是由于与其他会话的交互,或者需要读取页缓存中的数据,或者需要将事务提交到日志文件,等等。
https://dba.stackexchange.com/questions/294544
复制相似问题