龙空技术网

MySQL实战都80篇:大量使用长连接,内存占用太大,解决方案!

央企 450

前言:

如今姐妹们对“mysql连接太多”大概比较讲究,姐妹们都想要知道一些“mysql连接太多”的相关知识。那么小编也在网上汇集了一些有关“mysql连接太多””的相关文章,希望兄弟们能喜欢,小伙伴们一起来学习一下吧!

欢迎来到MySQL实战第80篇,修炼500篇,给自己一个小小的目标!

【应用背景介绍】

众所周知,在MySQL数据中,由于建立连接的过程是非常复杂的,所以我们在实际使用中尽量减少建立连接的动作,所以我们要尽可能的使用长连接。

但是我们全部使用长连接之后,往往会发现,MySQL占用的内存涨的速度非常快,这是什么原因呢?那是MySQL在执行过程中临时使用的内存是管理在连接对象里面,然后,这些资源在连接断开的时候才会释放。所以我们如果长连接使用后,积累下来,可能导致内存占用太大,被系统强行杀掉(OOM),从现象看来,就是MySQL异常重启了。

【解决问题】

如何解决这个问题呢?下面给出两个方案进行参考!

(1)定期断开长连接。我们可以在使用一段时间后,或者程序里面判断执行过一个占用内存的大查询之后,我们可以断开连接,之后要是在查询再重新连接。

(2)在使用MySQL5.7以上版本,可以在每次执行一个比较大的操作后,我们可以执行mysql_reset_connection来重新初始化连接资源。这个过程不需要重连和重新做权限验证,但是会将连接恢复到刚刚创建完成时的状态!

求关注,我们一起修炼MySQL吧!500篇之后感动现在的自己!

标签: #mysql连接太多