关于starrocks过滤条件中携带函数,bitmap索引失效

@trueeyu 两个explain的predict不一样,一个还是采用函数,一个是采用newCol1

是的,但其实都是对同一张表做了过滤,只是嵌套了下子查询生成表t1.然后用t1.column的方式在做了一层过滤

估计是子查询的问题,导致优化器没区分出来,你试试子查询里指定上对应的列试试

或是用cte with试试

指定对应的生成列应该问题不大,但我们是期望SQL不变,想用到你们生成列自动改写的能力的

上面那个你发个完整的Plan我看看

那就用这个方法吧。

with t1 as (
select * from test where pt <= ‘20240901’
)
select * from t1 where date_format(str_to_date(t1.data_date, ‘%Y-%m-%d’), ‘%Y-%m-%d %H:%i:%s’) >=
concat(cast(‘2024-08-28’ as varchar), cast(’ 19:39:50’ as varchar)) limit 1
这种一样的,也是不行

你用的哪个版本啊,我试了下好像是可以的

Explain String: PLAN FRAGMENT 0 (5.1 KB)
3.2.8

你看下这这个Case,用Main测试,和你的应该是一样

@trueeyu 这么写就不行

估计是Main优化了,还没合入过来,你可以试试Main上行不行,打个FE的包

我这是云产商那边封装的包,你看下哪个feature 合并了,我问下云产商那边是否可以帮我合进去

用的 Aliyun EMR?

我们要评估下合并的风险

火山这边的