数据库查询引擎的进化之路
在关系数据库中,除了查询优化器之外,查询调度器和计划执行器是两个同等重要的模块,并且随着计算机硬件的发展,它们的重要性越发彰显。本文将由OceanBase团队的90后技术专家 聿明 带你一起回顾执行器在发展过程中的重大演变。
作者简介:魏宇臣,现任蚂蚁金服OceanBase团队技术专家,自 2013年加入OceanBase一直从事SQL方向的解析,执行以及优化的相关工作。
在关系数据库中,当大家提到SQL查询,自然而然的想到查询优化器,毋庸置疑,这是关系数据计算中非常重要并且复杂的一个模块,它决定了查询关系以哪种方式执行能够得到一个最优的结果。但是在关系计算的过程中,还有两个同等重要的模块,那就是查询调度器和计划执行器。
在关系数据库发展的早期,受制于计算机IO能力的约束,计算在查询整体的耗时占比并不明显,这个时候调度器和执行器的作用被弱化,一个查询的好坏更主要取决于优化器对执行
计划的选择好坏。但是在今天,随着计算机硬件的发展,调度器和执行器也逐渐彰显了它们的重要地位,这里我们重点介绍下执行器发展过程中的一些演变。