婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL 慢查詢日志深入理解

MySQL 慢查詢日志深入理解

熱門標簽:北京金倫外呼系統 html地圖標注并導航 南太平洋地圖標注 400電話辦理服務價格最實惠 催天下外呼系統 大豐地圖標注app 400電話變更申請 呂梁外呼系統 武漢電銷機器人電話

什么是慢查詢日志

MySQL的慢查詢日志是 MySQL提供的一種日志記錄,它用來記錄在 MySQL 中響應時間超過閥值的語句,具體指運行時間超過long_query_time 值的 SQL,則會被記錄到慢查詢日志中

具體指運行時間超過 long_query_time 值的 SQL,則會被記錄到慢查詢日志中。long_query_time 的默認值為 10, 意思是運行 10 秒以上的語句

由它來查看哪些 SQL 超出了我們的最大忍耐時間值,比如一條SQL執行超過 5 秒鐘,我們就算慢 SQL,希望能收集超過 5 秒的SQL,結合之前explain進行全面分析

默認情況下,MySQL 數據庫沒有開啟慢査詢日志,需要我們手動來設置這個參數。當然,如果不是調優需要的話,一般不建議啟動該參數,因為開啟慢查詢日志會或多或少帶來一定的性能影響。慢査詢日志支持將日志記錄寫入文件!

如何開啟慢查詢

查看開啟狀態

SHOW VARIABLES LIKE '%slow_query_log%'

開啟慢查詢

set global slow_query_log = 1

使用 set global_slow_query_log = 1 開啟了慢查詢日志只對當前數據庫生,如果 MYSQL 重啟后則會失效。

如果要永久生效,就必須修改配置文件 my.cnf(其它系統變量也是如此)修改 my.cnf 文件,[mysqld]下增加或修改參數

slow_query_log 和 slow_query_log_file 后,然后重啟 MySQL 服務器。也即將如下兩行配置進my.cnf文件

slow_query_log =1

slow_query_log_file=/var/lib/mysql/tim-slow.log

關于慢查詢的參數 slow_query_log_fie,它指定慢查詢日志文件的存放路徑,系統默認會給一個缺省的文件host_name-slow.log(如果沒有指定參數 slow_query_log_file的話)

那么開啟慢查詢日志后,什么樣的SQL參會記錄到慢查詢里面?

通過 show variables like ‘long_query_time%' 來查看默認時間長度,單位是秒:

同樣的,可以使用命令修改,也可以在my.cnf里面配置。假如運行時間正好等于 long_query_time 的情況,并不會被記錄下來。也就是說,在MySQL源碼里是判斷大于 long_query_time,而非大于等于!

設置記錄的閾值:

set global long_query_time=3;

同樣的,可以使用命令修改,也可以在my.cnf里面配置。假如運行時間正好等于 long_query_time 的情況,并不會被記錄下來。也就是說,在MySQL源碼里是判斷大于 long_query_time,而非大于等于!

設置記錄的閾值:

set global long_query_time=3;

設置了但是還是沒有發生更改?為什么?此時需要重新開啟一個會話才可以:

接下來實行一個較慢的查詢,如下圖,但是記得要在配置文件中做如下配置:

接著去日志文件中查看存在哪些超過閾值的SQL就好了:

查詢當前系統中有多少條慢查詢記錄:

記載一下我的配置文件

slow_query_log=1;
slow_query_log_file=/var/lib/mysql/tim-slow.log;
long_query_time=3;
log_output=FILE

日志分析工具mysqldumpshow

在生產環境中,如果要手工分析日志,查找、分析 SQL,顯然是個體力活,MYSQL 提供了日志分析工具mysqldumpshow

  • s:是表示按何種方式排序
  • c:訪問次數
  • l:鎖定時間
  • r:返回記錄
  • t:查詢時間
  • al:平均鎖定時間
  • ar:平均返回記錄數
  • at:平均查詢時間
  • t:即為返回前面多少條的數據
  • g:后邊搭配一個正則匹配模式,大小寫不敏感的

下面是使用示例:

得到返回記錄集最多的 10 個 SQL

mysqldumpslow -s r -t 10 /var/lib/mysql/tim-slowlog

得到訪問次數最多的 10 個 SQL

mysqldumpslow -s c-t 10 /var/lib/mysql/tim-slow log

得到按照時間排序的前 10 條里面含有左連接的查詢語句

mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/tim-slowlog

另外建議在使用這些命令時結合和 more 使用,否則有可能出現爆屏情況

mysqldumpslow -s r -t 10 /var/lib/mysq/tim-slow.log | more

以上就是MySQL 慢查詢日志深入理解的詳細內容,更多關于MySQL 慢查詢日志的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MYSQL慢查詢和日志實例講解
  • MYSQL慢查詢與日志的設置與測試
  • MySQL 慢查詢日志的開啟與配置
  • MySQL5.7慢查詢日志時間與系統時間差8小時原因詳解
  • MySQL開啟慢查詢日志功能的方法
  • MySQL慢查詢日志的基本使用教程
  • 關于Mysql通用查詢日志和慢查詢日志分析
  • MySQL慢查詢日志的配置與使用教程
  • MySQL 開啟慢查詢日志的方法
  • 詳解MySql的慢查詢分析及開啟慢查詢日志

標簽:迪慶 龍巖 麗水 西寧 自貢 南充 無錫 徐州

巨人網絡通訊聲明:本文標題《MySQL 慢查詢日志深入理解》,本文關鍵詞  MySQL,慢,查詢,日志,深入,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 慢查詢日志深入理解》相關的同類信息!
  • 本頁收集關于MySQL 慢查詢日志深入理解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 陇川县| 大悟县| 多伦县| 沂南县| 青河县| 台湾省| 东辽县| 东兴市| 彭泽县| 和田市| 台中县| 陇西县| 揭东县| 绍兴县| 沈阳市| 右玉县| 诏安县| 白银市| 芒康县| 宜春市| 洛隆县| 志丹县| 龙胜| 伽师县| 邢台市| 嘉善县| 甘谷县| 清新县| 武穴市| 定兴县| 富平县| 泗洪县| 平南县| 阿尔山市| 太仓市| 大名县| 沈阳市| 象山县| 湖口县| 克什克腾旗| 连江县|