第14章 查询优化
查询优化是什么?
处理一个给定的查询,尤其是复杂查询,通常会有许多策略,从这些策略中找出最有效的查询执行计划的过程,就称为查询优化。
查询优化的作用?
查询优化可以为系统找到一个最小执行代价的执行计划。最大化减小查询执行时的代价,
14.1概述
查询优化器根据给定的表达式,产生一个查询执行计划,该计划能获得与原关系表达式相同的结果,并且得到结果的代价最小。
查询执行计划产生的三个步骤:
(1)产生逻辑上与给定表达式等价的表达式。
(2)估计每个执行计划的代价。
(3)对所产生的表达式以不同方式作注释,产生不同的查询计划。
查询优化器中第(1)步与第(3)步是交叉的:先产生一些表达式并加以注释,然后再进一步产生一些表达式并加以注释,依次类推。第(2)步是在后台通过收集关系的统计信息,如关系的大小和索引的深度来完成的,从而对一个执行计划作出较好的估计。
等价规则是什么?
等价规则指出两种不同形式的表达式是等价的。具体内容将在14.2节中介绍。
等价规则的作用?
等价规则说明了如何将一个表达式转换成逻辑上等价的另一个表达式。
本章中将涉及到的其他概念包括:代价估计、基于代价的优化、物化视图、增量维护等等。
14.2关系表达式的转换
如果两个关系代数表达式在所有有效数据库实例中都会产生相同的元组集,则我们称它们是等价的。注意:元组的顺序是无关紧要的;两个表达式可能产生的元组顺序不同,但只要元组集是相同的,我们认为它们是等价的。
浙公网安备 33010602011771号