Mysql 性能優化(1)--設置開啓慢查詢記錄並使用慢查詢工具分析

一 、設置開啓慢查詢

1.1 如何發現比較慢的sql

使用mysq慢查日誌對有效率問題的sql進行監控

long_query_time: 慢查詢時間,定義超過1秒的查詢計數到變量Slow_queries
slow_query_log: 慢查詢日誌是否開啓
show_query_log_file: 慢查詢日誌路徑
log_queries_not_using_indexes:沒有使用索引的查詢

show variables like ‘%slow_query%’;
在這裏插入圖片描述
set global slow_query_log=on;

set global show_query_log_file =’/home/mysql/sql_log/mysql-show.log’;
set global log_queries_not_using_indexes=on;
set global long_query_time = 1

注意:更新variable值之後,需要重新斷掉mysql,再連接,再進行查詢則顯示更改之後的值

1.2 慢查詢包含的內容

在這裏插入圖片描述在這裏插入圖片描述

二 、慢查詢日誌分析工具

2.1 mysqldumpslow

mysql 自帶工具
Linux下mysql:
在這裏插入圖片描述
在 windows 下可以在mysql/bin目錄下可以找到 mysqldumpslow.pl 文件,是一個 perl 格式的文件,如下圖:
在這裏插入圖片描述
windows下需要使用perl(Practical Extraction and Report Language:實用報表提取語言)語言:
-h:查詢幫助
在這裏插入圖片描述

perl C:\java\mysql\mysql-8.0.12\bin\mysqldumpslow.pl -s t -a -t 3 C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log

在這裏插入圖片描述
Count:執行次數 Time: 執行時間 Lock: 鎖定時間 Row: 返回行數

將結果集輸出到文件:
在這裏插入圖片描述

perl mysqldumpslow.pl C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log | more

2.2 pt-query-digest

在我的 mysql/bin 文件夾下並沒有 pt-query-digest.pl 文件,所以需要手動下載;

curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest

在這裏插入圖片描述
進度變爲100%後即爲下載成功!

perl pt-query-digest.pl C:\java\mysql\mysql-8.0.12\data\CNSHO-HWFSGH2-slow.log | more

在這裏插入圖片描述
overall:總共24條sql,15條不同的

2.3 通過慢查詢分析問題sql

在這裏插入圖片描述

Mysql 性能優化(2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章