mysql数据库首次查询缓慢
生活随笔
收集整理的這篇文章主要介紹了
mysql数据库首次查询缓慢
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用mysql數據庫首次查詢緩慢需要4-20s并且時好時壞
- 繞了一大圈的問題分析思路
- 一開始以為是mySql問題 ==最后還是未解決問題==
- 發現使用Navicat查遠程mysql庫也很緩慢 ==最后還是未解決問題==
- 判斷是不是代碼邏輯問題 導致第一次多操作緩慢 ==最后還是未解決問題==
- 發現是建立連接( Initial connection)時巨慢 21s ==成功解決問題==
繞了一大圈的問題分析思路
** 缺陷效果表現 **
mysql查詢,沒有緩存的情況下,就是第一次查,特別的慢 然后又正常了,過了一段時間后又特別緩慢
一開始以為是mySql問題 最后還是未解決問題
索引問題排除 考慮到實際數據并不多不考慮到索引問題 mysql在本地環境下特別快,但是使用遠程的sql就出現問題了會不會是mysql自動斷開連接所以搜索緩慢 最后還是未解決問題
這種自動斷開無非就是因為無人訪問mysql,mysql有資源保護機制,發現沒人用了就斷開掉節約資源 通過給一個定時任務3分鐘調用一次sql語句實現永久不斷開發現使用Navicat查遠程mysql庫也很緩慢 最后還是未解決問題
Navicat一直有一個通病,就是時不時卡頓閃退一想到navicat都搜索緩慢時不時數據庫本身有問題1. 使用在[mysqld]下配置一下屬性方式嘗試解決,實際未解決問題
skip-name-resolve
在linux環境下配置文件是/etc/my.cnf,
windows環境下配置是my.ini文件
做完操作后記得重啟mysql
2. 修改mysql連接方式外網修改內網ip嘗試解決,實際未解決問題
之前一直是用的外網ip連接的數據庫,api和數據庫實際都是在同一個服務器,可以使用內網ip連接mysql
判斷是不是代碼邏輯問題 導致第一次多操作緩慢 最后還是未解決問題
但是第一次代碼雖然會有很多操作 有這種可能性 可是后面存儲了信息之后 走的是緩存的邏輯,只做了一個簡單的查詢判斷接口, 但是這個簡單的接口也特別的慢,這就不是代碼問題的發現是建立連接( Initial connection)時巨慢 21s 成功解決問題
Initial connection 什么鬼,竟然20多秒
總結
以上是生活随笔為你收集整理的mysql数据库首次查询缓慢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python打砖块游戏算法设计分析_基于
- 下一篇: Linux EXPORT_SYMBOL宏