OLAP分区表指定分区查询比不使用分区查询性能差的问题

Viewed 35

doris版本:1.2.5

有一张OLAP分区表,前6个字段创建成了联合唯一约束。第七个字段operationstarttime是一个datetime列,mes_floor为分区字段,共3个分区。

SQL查询这个表的几个字段,且通过operationstarttime字段做过滤查询当前一个月内的数据,在dbeaver上默认limit 200行,0.2s左右就能返回结果。

但是在这个SQL基础上加上partition(p_mes1f)指定分区查询后,返回时间需要30s+甚至更长。

对比了2个SQL的执行计划,显然加上partition之后cardinality比不加要小将近一半。

为什么添加分区后,耗时时长比不添加分区耗时差距这么大?麻烦大佬帮分析下,谢谢。

表结构:
表结构

不加分区查询,返回时长0.2s左右:
不加分区查询返回时长0.2s左右

添加分区查询后,返回时长40s:
添加分区查询后返回时长40s

1 Answers