查询优化器入门
查询优化器是数据库中最核心的内容之一,后续会将学习《数据库查询优化器的艺术》这本书的学习过程记录下来,以加深自己的理解。当然也不会读一遍或者几遍就一定能理解所有的内容,但可以通过一遍一遍的阅读逐渐加深自己的理解,积少成多,慢慢的会有一天豁然开朗。
查询优化器相关技术
查询优化器涉及查询重用技术、查询重写规则、查询算法优化技术、并行查询优化技术、分布式查询优化技术等。前面是基础,基础的部分已经较为成熟了,后面的并行查询以及分布式查询目前很多数据库都在发展,是后续开发的重点方向之一。
从优化的内容角度看,查询优化分为:逻辑优化、物理优化。逻辑优化主要依据关系代数的等价变换做一些逻辑转换,物理优化主要以及数据读取、表连接方式、表连接顺序、排序等技术对查询进行优化。
查询重用技术:主要在两个方面:查询结果的重用以及查询计划的重用。执行计划的缓存等问题。
查询重写:核心是等价代换。涉及到关系代数等。
查询算法优化:主要涉及到比如解决多表连接算法等,如动态规划、遗传算法等。
并行查询优化:目前Postgres中已经支持了很多并行特性,将原有的语句并行化也是一个很大的方向。
分布式查询优化:这方面可以通过学习开源分布式数据库Greenplum,Citus等进行学习,查看其分布式执行计划与非分布式执行计划的不同。理解其执行逻辑。分布式查询优化的一大核心原则是要降低数据的重分布或者说降低节点间的数据传输的通信代价。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




