BE内存溢出

be.WARNING 搜下large allocate?

image 没有内容

老师,这个问题能再帮忙看一下吗

加下微信,远程帮你看下

这个是在我们内网,没有办法进行远程

老师,您需要操作什么,或者想要看参数,我这边配合你

可以先升级到2.5.13试下吗

2.5.13有针对这方面做更新吗

好像有个distinct limit 问题,不过具体哪些版本有问题记不太清了,可以先升到2.5 最新版本看看

把所有字段select 出来会报错吗?

select kbft.file_id, kbft.confirmed_text, kbft.url from kbft
WHERE
kbft.create_date BETWEEN ‘2023-10-01’
AND ‘2023-11-01’;

我这边已经将starRocks版本已经升级为2.5.13,但是会报Memory of Query194b498f-846d-11ee-9fcf-dabe8ee60736 exceed limit. Pipeline Backend: 172.31.24.113, fragment: 194b498f-846d-11ee-9fcf-dabe8ee60737 Used: 43074259752, Limit: 17179869184. Mem usage has exceed the limit of single query, You can change the limit by set session variable exec_mem_limit or query_mem_limit.没有办法查询

把所有字段select出来是会报错的

全表这样子查询是不会报错的

恩,那看上去像是distinct limit 有问题了。

感觉像是distinct a, b, c 其实是对a, b, c 做group by.

这几个基数是不是有点高。

比如 select distinct * from nation, 其实是对所有列做group by. 不过我们现在对distinct * limit xxx 做的不好

那请问这个后面会出版本修复一下吗,好像用到这个DISTINCT都不太能查询得出来

这个不属于正确性问题,在2.5上应该是不会修复了。

你确定

select kbft.file_id, kbft.confirmed_text, kbft.url from kbft
WHERE
kbft.create_date BETWEEN ‘2023-10-01’
AND ‘2023-11-01’;

这个SQL筛选出来只有7k条数据? 如果只是7K的话做group by distinct应该是没有问题的。

另外如果是

SELECT DISTINCT
kbft.file_id,
kbft.confirmed_text,
IFNULL( kbft.url, ‘’ ) AS url
FROM
kbft
WHERE
kbft.create_date BETWEEN ‘2023-10-01’
AND ‘2023-11-01’
LIMIT 1

这个SQL的话,那么和直接选出一条的结果是一样的吧,不用加distinct.

set streaming_preaggregation_mode=“force_streaming”; 然后执行下看看

set streaming_preaggregation_mode=“force_streaming”; 这个语句,我执行了,还是不行

加个微信看下?看着是超大内存申请