在where过滤条件中加入了json字段的判断,查询效率会下降很多

【详述】表里有1亿多数据,如果使用一般的索引列进行过滤,查询速度很快,但如果增加了json字段的过滤,查询效率会下降几十倍,这是故障?还是设计就是如此呢?
【StarRocks版本】3.1.3
【集群规模】1fe+1be(fe与be混部)
【附件】
建表语句


3条sql查询语句

第2条sql执行计划


第3条sql执行计划

第3条只比第2条多了 data->‘account’='abc’这个条件,但查询速度慢了几十倍,按理说前面的过滤条件过滤的数据只有几十条,为什么添加 data->‘account’='abc’这个条件后慢这么多,好像是自己去扫描全表了。

可能是json 字段解析比较费时间,可以尝试把常用的过滤字段使用生成列搞出来

可以搞个profile 排查看下,参考这个文档获取一些profile

set enable_column_expr_predicate=false; 然后执行下看看

这是哪个版本的参数,用 show variables没有查到

这个是不可见参数

这个参数果然有用,设置之后,查询时间从40多秒直接下架到毫秒级了,这个参数可以设置为全局生效吗,设置成全局生效,会影响其他什么功能吗

在设置参数后如果json数据的值能够匹配上,并且结果超过几十条的情况下,查询依然很慢
新开了一个帖子 【续】在where过滤条件中加入json字段的判断,查询效率下降的问题