MEMORY_LIMIT:会不会以后表数据越多,MEMORY_LIMIT要调整越来越大

【 使用环境 】测试环境
【 使用版本 】社区版4.3.1,obd demo单机部署
【问题描述】MEMORY_LIMIT设置为8G,发现使用find_in_set函数的查询语句一直不返回结果,所查表才几十条数据,把MEMORY_LIMIT设置为10G后,这个函数就能正常返回结果了,想知道为什么MEMORY_LIMIT要配置这么大才能正常用数据库,以后不会数据库里表数据越来越多,多到几百万,上千万,这个MEMORY_LIMIT要无限调大吧
【SQL语句】
SELECT
a.dept_id,
GROUP_CONCAT(b.dept_name ORDER BY b.dept_level SEPARATOR ‘/’) as dept_name
FROM
sys_dept a
LEFT JOIN sys_dept b ON FIND_IN_SET(b.dept_id, a.ancestors) > 0
GROUP BY a.dept_id

数据库内存上限

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000818900

租户内部内存管理

https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-1000000000818899

show parameters LIKE ‘%log_disk_size%’;

show parameters like ‘%datafile%’ ;

show parameters LIKE ‘%memory%’;

select a.zone, a.SVR_IP,a.SVR_PORT, b.status,cpu_capacity,cpu_assigned_max,cpu_capacity-cpu_assigned_max as cpu_free,round(memory_limit /1024/1024/1024 ,2) as memory_total_gb,round((memory_limit-mem_capacity) /1024/1024/1024 ,2) as system_memory_gb,round(mem_assigned /1024/1024/1024 ,2) as mem_assigned_gb,round((mem_capacity-mem_assigned) /1024/1024/1024 ,2) as memory_free_gb,round(log_disk_capacity /1024/1024/1024 ,2) as log_disk_capacity_gb,round(log_disk_assigned /1024/1024/1024 ,2) as log_disk_assigned_gb,round((log_disk_capacity-log_disk_assigned) /1024/1024/1024 ,2) as log_disk_free_gb,round((data_disk_capacity /1024/1024/1024 ),2) as data_disk_gb,round((data_disk_in_use /1024/1024/1024 ),2) as data_disk_used_gb,round((data_disk_capacity-data_disk_in_use) /1024/1024/1024 ,2) as data_disk_free_gb from gv$ob_servers a join oceanbase.DBA_OB_SERVERS b on a.zone=b.zone\G;

执行看看。后期如果数据量变大。ob数据库的资源也是需要随着数据量变大而进行调整。

谢谢回答!

谢谢回答,您给的SQL的查询结果是这个
quert_result.txt (7.7 KB)

memory_limit: 10G
system_memory:5G 这个可以设置小点2G 应该就可以

其他的可以随着数据量变大而调整(memory_limit、datafile_size、log_disk_size参数)

好的好的 我试试 谢谢!