数据库优化器

Posted 数据库备忘录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库优化器相关的知识,希望对你有一定的参考价值。


 数据库优化器专题汇总



01



Introduction


优化器就是一个搜索引擎,其三要素是:搜索空间、搜索策略、代价模型


  • 《》对优化器方法做了一个总结。

  • 《》对搜索空间大小进行了一个分析。

  • 《》,sqlite采用贪心算法实现join ordering问题。


02


strategy


2.1 bottom-up

  • 《》介绍了经典系统System R的动态规划方法。

  • 》对动态规划方法的枚举过程采用规则系统进行处理。

2.2 top-down

  • 《》基于自顶向下的方式实现了一种基于规则的搜索策略。

  • 《》


03


modular query optimizer


  • 《》

  • 《》


04


Paper list

大V的paper list


  1. Goetz Graefe:https://dblp.uni-trier.de/pers/hd/g/Graefe:Goetz

  2. Thomas Neumann:https://dblp.uni-trier.de/pers/hd/n/Neumann_0001:Thomas

  3. Pit Fender:https://dblp.uni-trier.de/pers/hd/f/Fender:Pit



优化器是一个很复杂的模块。目前还有以下几个问题没有进行分析:

  1. 复杂join条件:采用graph甚至是hypergraph分析;

  2. 外连接:我们讨论的join tree还是很简单的笛卡尔乘积,并没有涉及外连接,半连接等情况;

  3. adaptive:同一条语句的最优计划随时会发生变化,需要replan;

  4. cost model:统计和估计是非常影响优化器性能的组件,直接决定最终选出的计划;

  5. 物化视图:对中间结果存储,加速查询;



后台回复“opt”,获取优化器系列相关论文。




该号已经发布的专题文章:





以上是关于数据库优化器的主要内容,如果未能解决你的问题,请参考以下文章

Oracle_sql优化基础——优化器总结

数据库查询优化器的艺术:原理解析与SQL性能优化

数据库优化器

如何测试数据库查询优化器

mysql查询优化器应该怎么使用

Oracle优化器