日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库首次查询缓慢

發布時間:2023/12/16 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库首次查询缓慢 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用mysql數據庫首次查詢緩慢需要4-20s并且時好時壞

  • 繞了一大圈的問題分析思路
    • 一開始以為是mySql問題 ==最后還是未解決問題==
    • 發現使用Navicat查遠程mysql庫也很緩慢 ==最后還是未解決問題==
    • 判斷是不是代碼邏輯問題 導致第一次多操作緩慢 ==最后還是未解決問題==
    • 發現是建立連接( Initial connection)時巨慢 21s ==成功解決問題==

繞了一大圈的問題分析思路

** 缺陷效果表現 **
mysql查詢,沒有緩存的情況下,就是第一次查,特別的慢 然后又正常了,過了一段時間后又特別緩慢

  • 初始判斷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或者其他的問題導致的第一次加載特別慢的原因, 所以沒在意分析具體耗時在哪。 無奈百度,google也沒找到解決方案。 全都是其他的一堆亂七八糟的方案,把我帶偏了本地localhost訪問一直都很快,顯然不是代碼的問題。ping的了域名發現解析速度也沒有問題。 最后重新給網站換了個域名,結果就解決了。打開阿里云查看域名解析, 發現自己把兩個IP用在了同一個域名上面導致沖突了 然后果斷刪除其中一個解析,解決了這個賊坑的問題

    總結

    以上是生活随笔為你收集整理的mysql数据库首次查询缓慢的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。