【异常解决】一招解决Navicat连接线上数据库时,隔一段时间不操作出现的卡顿问题
博主介绍:✌全网粉丝23W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌
技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。
感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我留言咨询,希望帮助更多的人。
一招解决Navicat连接线上数据库时,隔一段时间不操作出现的卡顿问题
- 一、背景描述
- 二、问题原因
- 三、解决方案
- 3.1 方案一
- 3.2 方案二
一、背景描述
后端开发,肯定离不开和数据库打交道,现在Java项目绝大多数都是使用MySQL数据库,所以Navicat for MySQL这个数据库可视化工具,大家就不会陌生了。
每次用 Navicat 连接成功数据库后,如果出现一段时间没有任何操作,再次刷新数据库、打开某一个表、执行 Sql 语句时,界面会出现加载中……,要么就是卡顿现象。一开始我个人以为是我的电脑卡顿,结果其他同事也出现了同样的问题。
二、问题原因
2.1、MySQL 服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
2.2、navicat设置的心跳包间隔太长了,MySQL 服务端直接将连接清理掉了。当我们打开一张表的时候,navicat还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据。
然而 Navicat 设置的心跳包间隔太长了,Mysql 服务端直接将连接清理掉了。所以,当我们打开一张表的时候,Navicat 还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据,才导致我们过一会再次使用时 Navicat 会卡顿一会儿。
三、解决方案
3.1 方案一
Navicat – 找到对应的数据库 – 右键 – 连接属性 – 高级 – 勾选保持连接间隔(秒) – 点击确定即可!
3.2 方案二
Navicat – 找到对应的数据库 – 右键 – 连接属性 – 高级 – 保持连接间隔(秒)(Keepalive interval(sec)) – 修改这个选项的时间,比如将240改为30等等。
本文完结!
好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 “点赞” 和 “关注” 哦,我们下次见!🎈
本文完结!
祝各位大佬和小伙伴身体健康,万事如意,发财暴富,扫下方二维码与我一起交流!!!