博主介紹:✌全網粉絲23W+,博客專家、Java領域優質創作者,華為雲/阿里雲等平台優質作者、專注於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等等。
本文完結!
好了,今天分享到這裏。希望你喜歡這次的探索之旅!不要忘記 “點贊” 和 “關注” 哦,我們下次見!🎈
本文完結!