最近 Navicat 连接 MySQL 时,打开数据表特别慢,即使表是空的也要半天才能打开。
原因分析
MySQL 服务器端会定时清理长时间不活跃空闲的数据库连接,以此优化数据库的性能。
Navicat 客户端有一个设置:保持连接间隔,默认是 240 秒!意思是,客户端在用户无任何交互性操作时,会每隔 240 秒给 MySQL 服务端发送一次数据请求。以此来保持数据库连接活跃!
然而 Navicat 设置的间隔太长了,MySQL 服务端直接将连接清理掉了。当我们打开一张表的时候,Navicat 还是使用旧的连接去请求数据,发现旧的连接超时不能用了,最后又申请了一个新的连接,再去请求数据!这就导致打开一张表特别慢!
解决方案
Navicat – 编辑数据库连接 – 高级 – 勾选保持连接间隔 – 输入框设置为30 – 点击确定!