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左右:
添加分区查询后,返回时长40s: