废话不多说,直接上图
【StarRocks版本】2.1.8
【集群规模】3fe+5be
【附件】
正常使用dt=多少多少,可以从执行计划看得出,是没问题的,只会扫描一个分区:
问题1:如果选用dt=(子查询)这种,就会变成全分区扫描;
对于dt=(子查询)不论子查询种是否包含了预定义函数(字符串函数、时间函数等等),都会扫描全分区
问题2:对于dt=str_func(str)这种,用字符串函数对字符串进行处理时,也会扫描全分区。
我自己摸索出一个方法就是,先用date_format再用cast:
所以,我最后就想问一下,关于上述两种问题,后续版本有办法进行优化吗?
我们很多表需要通过子查询去select max 去获取最大分区,这样就导致很多表无法用到分区表的特性
很多sql使用了一些字符串函数去处理时间字符串,导致也无法用到分区表的特性