
【手写数据库内核组件】0601数据库执行引擎常用的火山模型,与其它模型比较,实现原理以及解释器和迭代器的实现
数据库的执行引擎的常见模型:* 火山模型/迭代模型,采用自顶向下拉取数据的模式,执行计划生成树状结构的操作节点树,从根开始执行,每个操作都会有一个next方法,来获取下一条数据,操作之间也只传递一条数据。* 编译模型/物化模型,采用向上推送的模式,从最低层操作执行,每个操作将数据输出,作为下一个父操作的输入;这种模型以数据为中心,可以有效利用cache,各操作之间数据获取可以提升cache的命中率。* 向量模型/批处理模型,也是迭代模式执行,不同之处在于,每个操作会处理一批数据,生成的输出也是一组数



数据库:详细的解释和具体的例子来理解左连接(LEFT JOIN)、右连接(RIGHT JOIN)、内连接(INNER JOIN)以及外连接(FULL JOIN)的概念及其应用场景。
INNER JOIN:只返回两个表中都存在的相关数据。LEFT JOIN:返回左表的所有数据及右表中匹配的数据,右表无匹配则为NULL。RIGHT JOIN:返回右表的所有数据及左表中匹配的数据,左表无匹配则为NULL。FULL JOIN:返回两个表中的所有数据,匹配的和不匹配的都包括,缺失部分用NULL填充。需要所有左表数据,无论右表是否有匹配 → LEFT JOIN需要所有右表数据,无论左表是否有匹配 → RIGHT JOIN只需要两个表中都有的数据→ 。