Doris 性能优化

天翼云开发者社区
• 阅读 3

本文分享自天翼云开发者社区《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位图实现精准查询时,在表处理过程中,字段尽量都是整形,整形在构建全局字典时,避免了全局编码,提升数据同步和查询性能。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Hive优化的十大方法
Hive用的好,才能从数据中挖掘出更多的信息来。用过hive的朋友,我想或多或少都有类似的经历:一天下来,没跑几次hive,就到下班时间了。Hive在极大数据或者数据不平衡等情况下,表现往往一般,因此也出现了presto、sparksql等替代品。这里重点讲解hive的优化方式,例如优化分组:sethive.auto.convert.join
Wesley13 Wesley13
3年前
Mysql占用过高CPU时的优化手段
慢查询日志,将那些执行时间过长且占用资源过多的SQL拿来进行explain分析,导致CPU过高,多数是GroupBy、OrderBy排序问题所导致,然后慢慢进行优化改进。比如优化insert语句、优化groupby语句、优化orderby语句、优化join语句等等;3)考虑定时优化文件及索引;4)定期分析表,使用optimizetable;
Wesley13 Wesley13
3年前
Mysql索引最佳实践笔记0524
mysql5.7innodb默认存储引擎一、关于索引二、最佳实践三、避坑实践一、关于索引1.索引的作用提高查询效率数据分组、排序避免回表查询优化聚集查询用于多表join关联查询利用唯一性约束、保证数据唯一性innodb行锁实现索引的“
Easter79 Easter79
3年前
TiDB RC4 Release
TiDBSQL查询优化器重构更好的支持TopN查询支持Join算子根据代价自动选择更完善的ProjectionEliminationSchema版本检查区分Table,避免DDL干扰其他正在执行的事务支持BatchIndexJoin
Easter79 Easter79
3年前
TiDB 源码阅读系列文章(七)基于规则的优化
作者:毛康力在TiDB里面,SQL优化的过程可以分为逻辑优化和物理优化两个部分。逻辑优化主要是基于规则的优化,简称RBO(rulebasedoptimization)。物理优化会为逻辑查询计划中的算子选择某个具体的实现,需要用到一些统计信息,决定哪一种方式代价最低,所以是基于代价的优化CBO(costbasedoptimizatio
sql优化谓词下推在join场景中的应用
谓词下推的原理是将sql中的限制条件的逻辑尽可能的提前在sql中执行,从而减少加载的数据量,提升下游数据处理的效率以及减少内存消耗。该种方式在hive,MySQL,Doris的语法中均适用。
3A网络 3A网络
2年前
StoneDB 子查询优化
StoneDB子查询优化摘要:说明如何优化exists的join查询优化器的处理核心函数:TwoDimensionalJoiner::ChooseJoinAlgorithmcppJoinAlgTy
AF_XDP技术简介
本文分享自天翼云开发者社区@《》,作者:ln一.概述AFXDP是一项新增的,针对高性能数据包处理进行优化的地址族协议。本文档假设读者已经熟悉BPF和XDP。如果没有,可以参考开源Cilium项目在(http://cilium.readthedocs.io/
ClickHouse内幕(3)基于索引的查询优化
ClickHouse索引采用唯一聚簇索引的方式,即Part内数据按照orderbykeys有序,在整个查询计划中,如果算子能够有效利用输入数据的有序性,对算子的执行性能将有巨大的提升。本文讨论ClickHouse基于索引的查询算子优化方式。在整个查询计划中
WAAP对提升网站访问速度有什么作用?
本文分享自天翼云开发者社区《》,作者:amberWAAP(WebApplicationandAPIProtection)对提升网站访问速度具有显著作用,主要体现在以下几个方面:1.网络性能优化:WAAP通过优化网络性能来提升用户体验。网络攻击可能导致网站和
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
885
粉丝
16
获赞
40