Navicat连接Mysql,打开数据表非常慢解决方法

Navicat连接Mysql,打开数据表非常慢解决方法

小 萌
2019-09-07 / 0 评论 / 4 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年02月16日,已超过457天没有更新,若内容或图片失效,请留言反馈。
全篇转载自 @如有乐享 ,由 小萌 进行编辑,本文仅作存档使用

博主最近开发中遇到关于Navicat经常非常慢接近卡死的问题!困扰了我很久,今天终于知道原因了!这里分享给大家!希望对大家有所帮助!

问题描述

最近公司换网络了,突然发现有时候使用Navicat打开一张表会非常慢! 即使是表中没数据也是慢

最开始的时候,我怀疑是网络的问题!但是ping数据库服务器IP也不丢包。数据库也是通过内网访问的!

直接用SQL语句查询结果也是非常快的!

原因分析

我试了连接其他数据库,貌似这个问题不明显!只有连接这一个数据库出现类似问题!最终找到原因了!

Mysql服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。

Navicat客户端有一个设置:保持连接间隔,默认是240秒!意思是,客户端在用户无任何交互性操作时,会每隔240秒给Mysql服务端发送一次数据请求。以此来保持数据库连接活跃!

然而Navicat设置的心跳包间隔太长了,Mysql服务端直接将连接清理掉了。当我们打开一张表的时候,Navicat还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据!

所以导致我们打开一张表时间需要挺久的!

解决方案

Navicat - 编辑数据库连接 - 高级 - 勾选保持连接间隔 - 输入框设置为30 - 点击确定!

0

评论 (0)

取消