查询优化应该是数据库领域最难的topic 当前查询优化,主要有两种思路, Rules-based,基于先验知识,用if-else把优化逻辑写死 Cost-based,试图去评估各个查询计划的cost,选取cost比较小的 一个sql query的处理流程, 先是Parser,生成抽象语法树ast,Binder会去做元数据对应,把parse出来的name对应到数据库中的结构,表,字段等 然后Rewriter就是Rules-based的改写,而Optimizer是cost-based的优化 Rela…