下文我給大家簡單講講關于mysql慢查詢查看,大家之前了解過相關類似主題內容嗎?感興趣的話就一起來看看這篇文章吧,相信看完mysql慢查詢查看對大家多少有點幫助吧。
MYSQL慢查詢
一、查看系統所有參數狀態:
mysql> show variables
二、查看慢查詢的定義:
mysql> show variables like '%quer%';
| log_slow_queries | ON |
| long_query_time | 5.000000 |
mysql> show variables like 'slow%';
+---------------------+-------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------+
| slow_launch_time | 5 |
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/slow_query_log |
+---------------------+-------------------------------+
3 rows in set (0.00 sec)
三、修改慢查詢定義:
1.立即修改:
開啟慢查詢功能、時間定義
mysql> SET log_slow_queries=on;
mysql> SET long_query_time=5;
開啟慢查詢記錄功能、時間定義、文件保存位置
mysql> SET slow_query_log=on;
mysql> SET slow_launch_time=5;
mysql> SET slow_query_log_file=/var/log/mysql/slow_query_log;
2.修改配置文件(需要重啟服務)
vim /etc/my.cnf
開啟慢查詢功能、時間定義
log_slow_queries=on|off
long_query_time=5
開啟慢查詢記錄功能、時間定義、文件保存位置
slow_query_log=on|off
slow_launch_time=5
slow_query_log_file=/var/log/mysql/slow_query_log
重啟服務
service mysql restart
四、其他設置
1.記錄所有沒有使用到索引的查詢語句
log_queries_not_using_indexes=on|off
2.記錄那些由于查找了多余1000次而引發的慢查詢
min_examined_row_limit=1000
3.記錄那些慢的OPTIMIZE TABLE,ANALYZE TABLE和ALTER TABLE語句
log-slow-admin-statements
4.記錄由slave所產生的慢查詢
log-slow-slave-statements
五、日志分析工具mysqldumpslow
-s, 是表示按照何種方式排序:
c: 訪問計數
l: 鎖定時間
r: 返回記錄
t: 查詢時間
al:平均鎖定時間
ar:平均返回記錄數
at:平均查詢時間
-t, 是top n的意思,即為返回前面多少條的數據;
-g, 后邊可以寫一個正則匹配模式,大小寫不敏感的;
例:
1.得到返回記錄集最多的10個SQL。
mysqldumpslow -s r -t 10 /var/log/mysql/slow_query_log/mysql06_slow.log
2.得到訪問次數最多的10個SQL
mysqldumpslow -s c -t 10 /var/log/mysql/slow_query_log/mysql06_slow.log
3.得到按照時間排序的前10條里面含有左連接的查詢語句。
mysqldumpslow -s t -t 10 -g “left join” /var/log/mysql/slow_query_log/mysql06_slow.log
4.另外建議在使用這些命令時結合 | 和more 使用 ,否則有可能出現刷屏的情況。
mysqldumpslow -s r -t 20 /var/log/mysql/slow_query_log/mysql06-slow.log | more
大家覺得mysql慢查詢查看這篇文章怎么樣,是否有所收獲。如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。