@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
这种一样的,也是不行
你用的哪个版本啊,我试了下好像是可以的
你看下这这个Case,用Main测试,和你的应该是一样
估计是Main优化了,还没合入过来,你可以试试Main上行不行,打个FE的包
我这是云产商那边封装的包,你看下哪个feature 合并了,我问下云产商那边是否可以帮我合进去
用的 Aliyun EMR?
我们要评估下合并的风险
火山这边的