背景:达梦数据库使用过程中,某天突然服务宕机,导致各类后端服务无法注册到nacos上,重启之后nacos正常启动,可执行一条两千多条数据量的连表查询时间很长,甚至会报错,经查看日志发现在查询过程中,将服务器的内存直接吃满了,通过free命令查看内存使用情况,发现确实如此

可通过以下方式解决:
1.--收集SYSDBA模式下所有对象的统计信息,包括索引
DBMS_STATS.GATHER_SCHEMA_STATS('用户名/模式名',100,FALSE,'FOR ALL COLUMNS SIZE AUTO');
2.--收集T1表上所有对象信息,包括索引
DBMS_STATS.GATHER_TABLE_STATS('用户名/模式名','表名',NULL,100,FALSE,'FOR ALL COLUMNS SIZE AUTO');
3.清除计划缓存(收集统计信息之后使用)
call sp clear plan cache():
文章讲述了在达梦数据库使用中遇到的服务宕机和查询性能问题,涉及内存占用过高的原因分析,以及如何通过收集统计信息、清理计划缓存来优化查询性能和解决内存溢出问题。
2764

被折叠的 条评论
为什么被折叠?



