15-721 chapter 13 查询执行

优化的目标

CPU层面

cpu是多级流水线操作,所以我们的目标是让每个处理器的每个部分都处于busy。多条流水线,我们没有依赖的指令可以放到不同的流水线里面。但是流水线如果遇到branch判断错误的话,就要flush掉

 

可以用值传递来代替跳转

查询执行模型

iteration model就是一次next调用返回一个tuple。但这个流水线或者叫火山模型会在join, order by,subquries被阻断。 

物化模型就是一次返回所有的tuple。

矢量化模型就是batch,在上面两个模型之间,同时也可以通过simd优化。 

 查询的方向

查询操作并行化

水平并行化 

通过插入exchange operator来汇集结果

 垂直并行化

-------多条流水线并行

我的理解是:就是左边都是A和B建立起来的hashtable,然后C和D的探测可以在两路流水线并行。sql join 算法 时间复杂度_sql join复杂度_stevewongbuaa的博客-CSDN博客   【数据库内核】基于代价的优化器引擎之Join Order_join_order_Night_ZW的博客-CSDN博客
执行计划之表连接1:连接树(Join Trees) - 墨天轮

Summary

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值