mysql慢查日誌

簡介

MySQL 慢查詢日誌是排查問題 SQL 語句,以及檢查當前 MySQL 性能的一個重要功能。
我們可以根據日誌中的信息來判斷我們的sql語句執行情況。如果要學會然後優化sql優化這個一定要會呀

開啓慢查日誌

  • mysql5.7版本默認開啓了慢查日誌,但是其日誌文件名可能不是我們想要的,我們查詢如下:
mysql> show variables like '%quer%';
+----------------------------------------+--------------------------+
| Variable_name                          | Value                    |
+----------------------------------------+--------------------------+
| binlog_rows_query_log_events           | OFF                      |
| ft_query_expansion_limit               | 20                       |
| have_query_cache                       | YES                      |
| log_queries_not_using_indexes          | OFF                      |
| log_throttle_queries_not_using_indexes | 0                        |
| long_query_time                        | 10.000000                |
| query_alloc_block_size                 | 8192                     |
| query_cache_limit                      | 1048576                  |
| query_cache_min_res_unit               | 4096                     |
| query_cache_size                       | 1048576                  |
| query_cache_type                       | OFF                      |
| query_cache_wlock_invalidate           | OFF                      |
| query_prealloc_size                    | 8192                     |
| slow_query_log                         | ON                       |
| slow_query_log_file                    | ICOS-20180710CX-slow.log |
+----------------------------------------+--------------------------+
15 rows in set, 1 warning (0.00 sec)

可以看到這個默認的慢查詢日誌文件名是:ICOS-20180710CX-slow.log。而且這個slow_query_log是開啓狀態的。

  • 在Mysql配置文件裏(windows下My.ini,linux下my.cnf)裏的mysqld的下面添加(如果存在就修改成對應的配置)
# 修改成下面這段配置 
log-output=FILE
general-log=0
general_log_file="DESKTOP-4RN63N2.log"
slow-query-log=1
slow_query_log_file="C:/ProgramData/MySQL/MySQL Server 5.5/logDESKTOP-4RN63N2-slow.log"
long_query_time=1  -- 這是大於多少秒的sql語句會被記錄下來 

在這裏插入圖片描述
ps:my.ini 文件windows 通常在 C:\ProgramData\MySQL\MySQL Server 5.5 目錄下

  • 最後重啓mysql 服務,查看慢查詢日誌即可
    在這裏插入圖片描述

分析慢查日誌

set long_query_time=0; -- 所有執行的sql都會被記錄到慢查日誌中 
-- 執行段sql語句
select * from t where a between 10000 and 20000; /*Q1*/

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

# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.020050  Lock_time: 0.001001 Rows_sent: 10001  Rows_examined: 10001
SET timestamp=1574349547;
select * from t where a between 10000 and 20000;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章