首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >StartRocks向量化过滤

StartRocks向量化过滤

作者头像
yzsDBA
发布2022-09-06 15:20:36
发布2022-09-06 15:20:36
6600
举报

如何通过SIMD指令快速过滤?

比如上图的例子,有atrr_A列,有8个值。TID:0-7,过滤小于45的列值。

1)通过SIMD COMPARE指令可以一次性比较一批数据。比如上例,满足条件的标记到bitmask中。

2)通过SIMD permute压缩,将满足条件的移动到前面,满足条件的都在一起。

3)通过SIMD masked store将TID输出。

这样就批量快速过滤出来小于45的列值。opengauss向量化比较后,也会将值进行压缩,也就是将满足条件的都放到前面在一起,但它没有显式使用SIMD指令进行加速,这个地方同样可以应用SIMD permute指令。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yanzongshuaiDBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档