"); //-->
本文分享自天翼云开发者社区《Doris 性能优化》,作者:i****n
Doris 通过多种查询优化策略,如 Join 优化、谓词下推、运行时过滤,字典优化,算子优化等,来提供高性能的查询能力。来提升整体性能
Join 优化
在查询中,Join 操作往往是非常耗时的。Doris 提供了多种 Join 优化策略来提高查询性能:
Join 顺序优化:Doris 会根据统计信息选择最优的 Join 顺序。通常,先执行小表与大表的 Join 会更加高效。
Hash Join:对于某些类型的 Join,Doris 可能会使用 Hash Join 算法,它通过在内存中构建哈希表来加速 Join 操作。
Bucketed Join:如果两个参与 Join 的表都进行了分桶,并且桶的划分方式相同,Doris 可以利用这一特性进行 Bucketed Join,即只在同一桶内的数据进行 Join,这样可以大大减少数据的扫描量。
谓词下推
谓词下推是一种将过滤条件尽可能早地应用到查询执行过程中的优化策略。在 Doris 中,谓词下推可以帮助减少数据的扫描量,从而提高查询性能。例如,如果查询中包含一个限制条件,Doris 会尝试将这个条件尽早地应用到数据读取阶段,这样只有满足条件的数据才会被进一步处理,减少数据加载量,从而提升查询性能。常见的谓词有 where,on。
运行时过滤
运行时过滤是在查询执行过程中,根据已经获取的部分数据结果,动态地调整过滤条件,从而进一步减少数据的扫描量。这种优化通常与谓词下推结合使用,可以在查询执行的不同阶段根据实际情况进行调整。
表结构优化
Doris表结构的优化包括分区,分桶,以及key列顺序等,结合业务场景,对于常用作限制条件的字段,可以作为分桶字段,查询时减少桶的扫描,从而提升查询性能。注意:分桶字段的数据类型维整形。可结合实际应用场景进行设置。
字典优化
Doris 支持字典编码,这是一种有效的数据压缩和编码技术。通过字典优化,Doris 可以进一步减少数据的存储空间,加快数据的读取速度。字典优化通常与列式存储结合使用,因为列式存储更容易利用字典编码的优势。
通过bitmap位图实现精准查询时,在表处理过程中,字段尽量都是整形,整形在构建全局字典时,避免了全局编码,提升数据同步和查询性能。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
电冰箱及其部件自动检测线设计与实现
基于Onenet及微信小程序的校园运动场地预约系统
智能停车场一体化控制器方案简述
中国信通院公布上半年国内数据库产品和服务商第一梯队,含华为、阿里、腾讯
基于大数据分析的实体导航系统
嵌入式数据库
在vxworks做一个内存数据库,请各位大虾指点?(老站转)
嵌入式Linux开发之C语言学习秘诀
中国关系型数据库软件市场,变革即将到来
一种基于SQL语句分发请求的复制算法
Empress嵌入式数据库简介
面向对象数据库在多机器人系统中的应用研究
基于二维激光脉冲测距传感器的动态车辆智能宽高检测系统设计
实时数据库系统及其特征(老站转)
业界唯一的全球OSAT制造站点数据库报告包括覆盖到测试的360条产线
四个步骤 获得更安全数据库
详细讲解大型数据库的设计原则与开发技巧
嵌入式数据库
基于无线通信的自动抄表系统的
嵌入式实时数据库
Protel99SE的文件管理
印度拟建立大规模人脸识别系统
Yandex 在 GitHub 开源 YDB 数据库
安全升级,智能领航:RFID技术推动铁路锁控系统进入新时代
基于实时分布式数据库的轨道交通电力监控系统