非分区表全表扫描的性能比非全表扫描还好一点?

【详述】有一张9亿的非分区表(OLAP表,6桶),尝试了2个SQL,如下:
sql1:select hld_dt,sum(t.hld_val + t.accr_intr) as cn from fin_prd_hld_info t group by t.hld_dt; --返回365rows,总耗时:3s707ms
sql2:select hld_dt,sum(t.hld_val + t.accr_intr) as cn from fin_prd_hld_info t where t.hld_dt >= 20210101 and t.hld_dt <= 20211231 group by t.hld_dt; --返回365rows ,总耗时:4s387ms
【背景】无特殊操作
【业务影响】
【StarRocks版本】2.1.2
【集群规模】3个BE,3个FE,1Master+2follower(8c16G)+ 3broker(broker与fe混合部署,be单独部署),共6个节点
【机器信息】CPU虚拟核/内存/网卡,例如:BE(16c64G)/万兆,FE(8c16G)/万兆
【附件】

  • fe.warn.log/be.warn.log/相应截图
  • 慢查询:

explain看下是否裁剪了,可以看下这个帖子https://forum.mirrorship.cn/t/topic/1285

忘记贴plan了。现在补上
sql1plan (1017 字节) sql2plan (1.1 KB)

你的explain显示你只有一个分区?哪来的你这个标题结论的。

估计标题少了2个字你理解错了??? 1张非分区表,算子是相同的。一个带where条件查,一个不带where条件查,理论上来说应该带where条件的查询性能要好吧,因为不带where是全表扫?

所以我的结论说是非分区表全表扫描 比 非分区表非全表扫描还好?

至于explain显示有一个分区,我这确实是张非分区表,这个是否SR的bug,你们可以自测一下,建的是OLAP引擎的表。

另外帖子中有个地方我确实写错了,sql1返回的数据是1826行。不是365