增加消除 inline view 中的无用的 order by 算子,以提升执行效率 优化了部分情况下的基数估计和代价模型的准确性,以提升执行效率 优化了 JDBC catalog 的谓词下推逻辑和大小写逻辑 优化了 file cache 的第一次开启后的读取效率 优化Hive 表 SQL cache 策略,使用 HMS 中存储的分区更新时间作为 cache 是否失效的...
优化由并发列更新和compaction引起的慢速列更新问题。#38487 当过滤条件中存在 NullLiteral 时,可以将其折叠为 false 并进一步转换为EmptySet,以减少不必要的数据扫描和计算。#38135 提高ORDER BY 全排序的性能。#38985 提高倒排索引中字符串处理的性能。#37395 查询优化器 增加了对以分号开头的语句的支持以兼容老...
查询优化器 完善 MySQL 协议返回列的信息,包括原始数据库名、表名、列名和别名。#38126增强聚合函数group_concat,支持同时使用order by和distinct进行复杂数据聚合。#38080改进了 SQL 缓存机制,支持通过注释区分不同的查询以复用缓存结果。#40049增强分区裁剪功能,支持在过滤条件中使用date_trunc和date函数。#38025#...
Doris的SQL语法兼容MySQL,但在分析性能上做了大量优化。例如,使用GROUP BY和ORDER BY时,可以结合Doris的预计算(PreAggregation)特性,将常见的聚合操作预先计算并存储,从而显著提高查询速度。此外,Doris支持JOIN操作,但对JOIN的优化需要谨慎,尽量避免全表JOIN,使用索引JOIN或子查询优化性能。 三、索引与查询优化 Doris支持...
基于以上优化,Apache Doris 在数据湖分析场景下的性能得到大幅度提升。 在此我们以 TPC-DS 1TB 场景下进行测试,Apache Doris 2.1 版本和 Trino 435 版本的性能测试结果如下: 在无缓存情况下,Apache Doris 的总体运行耗时间为 717s、Trino 为 1296s,查询耗时降低了 45%,全部 99 条 SQL 中有 80% 比 Trino ...
ALTERTABLEdb.table_nameORDERBY(column_name1, column_name2, ...) [FROMrollup_index_name] [PROPERTIES ("key"="value", ...)]-- 注意:-- index 中的所有列都要写出来-- value 列在 key 列之后 示例: -- 1.向 example_rollup_index 的 col1 后添加一个key列 new_col(非聚合模型)ALTERTABLE...
优化Semi / Anti Join 代价估计算法,能够正确选择最佳 Join 顺序。#37951 调整部分列无统计信息情况下的过滤估计算法,使估算更精准。#39592 改进Set Operation 算子 Instance 计算逻辑,防止在极端情况下并行度不足的问题。#39999 优化Bucket Shuffle 使用策略,数据打散不充分时也能获得更好的性能。#36784 窗口函数...
性能优化技巧 1. 合理设置 Bucket 数 Bucket 数直接影响数据的分布和查询性能。合理的 Bucket 数可以避免数据倾斜,提高查询效率。 实践示例 假设我们有一个用户行为表user_behavior,我们需要根据user_id进行分区和桶分配。 CREATE TABLE user_behavior (
接下来,我们将分享 Doris 替换 Clickhouse 的迁移方案,架构迭代的整体节奏分为 SQL 语句改写实现自动导入(包含建表语句与查询语句的改写)、查询性能测试、稳定性测试、导入性能测试与优化,在结束一系列测试后最终进行整体业务迁移。 01 SQL 建表语句与查询语句改写 ...
枚举框架进一步优化:在查询优化器 Cascades 和 DPhyper 两大融合框架的基础上,继续深耕框架能力、优化框架性能,确立了更为清晰的枚举策略,兼顾计划质量和枚举效率,为高性能引擎提供坚实基础。例如将 Cascades 默认枚举表上限从 5 提升到了 8、有效扩大了高质量计划的覆盖范围,同时进一步优化 DPhyper 枚举效率、使之能...