查詢擷取分析

2021-10-08 03:54:27 字數 1662 閱讀 2422

-- 預設關閉,預設情況下slow_query_log的值為off,表示慢查詢日誌是禁用的,

show variables like '%slow_query_log%'

; set global slow_query_log=1;

-- 重啟服務失效

show variables like '%long_query_time%'

;-- 預設10秒

set global long_query_time=

0.1;

-- 設定後需要重啟客戶端

--說明:

-- 假如執行時間正好等於long_query_time的情況,並不會被記錄下來。

-- 也就是說,在mysql原始碼裡是判斷大於long_query_time,而非大於等於。

永久生效的設定方式:

修改配置檔案my.cnf(其它系統變數也是如此) ,[mysqld]下增加或修改引數,然後重啟mysql伺服器。

slow_query_log =

1# 慢查詢日誌的存放路徑:預設 [host_name]

-slow.log

slow_query_log_file=

/var/lib/mysql/atguigu-slow.log

long_query_time=

3log_output=file

select * from emp;

select * from emp where deptid >

1;

show global status like '%slow_queries%'

;

vim /var/lib/mysql/atguigu-slow.log
在生產環境中,如果要手工分析日誌,查詢、分析sql,顯然是個體力活,mysql提供了日誌分析工具mysqldumpslow。退出mysql命令列,執行以下命令:

-- 檢視mysqldumpslow的幫助資訊

mysqldumpslow --help

-- 工作常用參考

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

mysqldumpslow -s r -t 10

/var/lib/mysql/atguigu-slow.log

-- 得到訪問次數最多的10個sql

mysqldumpslow -s c -t 10

/var/lib/mysql/atguigu-slow.log

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

mysqldumpslow -s t -t 10

-g "left join"

/var/lib/mysql/atguigu-slow.log

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

mysqldumpslow -s r -t 10

/var/lib/mysql/atguigu-slow.log | more

-t: 即為返回前面多少條的資料;

-g: 後邊搭配乙個正則匹配模式,大小寫不敏感的;

查詢擷取分析

show variables like slow query log set global slow query log 1 show variables like long query time set global long query time 0.1 show processlist kil...

14 查詢擷取分析

mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long query time值的sql。long query time的預設值為10,意思是執行10秒以上的語句。預設情況下slow query log的值為off,表示慢查詢日...

mysql 擷取查詢分析

1.1 是什麼 1 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具 體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。2 具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。...