我们在使用过程中,发现starrocks in 太多以后,就会将查询退化成全盘扫描,导致性能较差,如果采用join得的方式,又因为大表得 id 需要通过小表过滤来join, 如 select * from big_table inner join small_table on big_table.id = small_table.id and small_table.xxx = xxx; 所有的filter 条件都是在 small table 上,没有在big table上,请问这种情况下,该如果避免走全表呢?
您好,看您举的例子:filter过滤条件在小表上才是正常的吧,得先把小表数据过滤出去之后再和大表做join?
但是这样大表就会去跑很多很多数据去过滤掉没用得数据在和小表join,性能较差
大小表join正常来说会产生runtimefilter去过滤大表才对,不会全表扫的。您有case嘛?有case的话发下profile分析一下
方便的话发下文本形式的profile?还有您当前使用的版本是?
您好,我好像发现in 在1000以内的时候他会性能很快,但是in 超过1000以后就会出现明显的性能下降,我是否可以通过修改什么才参数 让runtime filter 走 布隆过滤器而不是走 in 过滤呢
be conf: max_pushdown_conditions_per_column
您好,设置成多少呢?
我们使用的是2.0.0版本,然后我设置参数为10000的时候,他没有生效,还是1024,请问这个参数在2.0.0版本会生效吗?
发一个profile 看看