MySQL慢查詢日誌的配置與使用教程

2022-09-25 16:00:19 字數 1267 閱讀 3606

前言

mysql慢查詢日誌是我們在日常工作中經常會遇到的乙個功能,mysql慢查詢日誌提供了超過指定時間閾值的查詢資訊,為效能優化提供了主要的參考依據,是程式設計客棧乙個非常實用的功能,mysql慢查詢日誌的開啟和配置非常簡單,可以指定記錄的檔案(或者表),超過的時間閾值等就可以記錄到慢sql了,實話講,相比較sqlserver的trace或者擴充套件事件(雖然此二者的作用並非僅僅如此),mysql的配置總是給人一種非常清爽的感覺。

一、慢查詢日誌的開啟

正常情況下,只需要在配置檔案中增加slow_query_log = 1配置,即開啟慢查詢日誌,未指定slow_query_log_file的情況下,會自動生成乙個以主機名+『slow'.log 的檔案。

二、預設情況下記錄慢查詢的時間閾值為10s

預設情況下,指定slow_query_log = 1的情況其啟動mysql,即可開啟慢查詢,自動生成乙個預設的以主機名++『slow'.log 的檔案來記錄超過執行超過10s的慢查詢。

也可以顯式指定慢查詢的日誌檔名稱(不存在會自動建立)和記錄慢查詢的時間閾值(非預設的10s)。

注意:在配置檔案中指定long_query_time的時候,不需要時間單位,只需要乙個值,比如1就代表1s,如果帶了時間單位,服務將無法啟動。

www.cppcns.com

如下是乙個記錄到日誌檔案中的慢sql的示例

三、記錄慢查詢日誌到表

配置:需要新增乙個log_output的配置,就可以將慢查詢記錄到表中了

mysql庫下面有乙個預設的slow_log表,可以直接將slow_query_log_file = slow_log,即可將慢查詢日誌記錄到表中。

記錄到的slow sql如下,可以發現sql_text是乙個二進位制的資訊,並非原始的sql文字

可以通過convert函式轉換一下即可。

關於慢查詢記錄到日誌檔案和表中的區別:

1、慢查詢記錄到日誌檔案和表中,記錄本身差別不大,如果是記錄在表中,慢查詢的執行時間資訊無法精確到微妙,

2、如果將慢查詢資訊記錄在表中,方便查詢,但因為是結構化的資料,可能會比記錄在慢查詢日誌檔案中(平面文字檔案)要慢一點點(個人猜測),如果是記錄到檔案,需要mzaryndysqldumpslow工具解析。

3、慢查詢不記錄執行失敗的查詢,比如long_query_time設定為10(10秒鐘),乙個查詢超過了10秒鐘,但是因為其他原因執行失敗,mysql的慢查詢將無法記錄此查詢資訊。

總結本文標題: mysql慢查詢日誌的配置與使用教程

本文位址: /shujuku/mysql/204114.html

MySQL慢查詢日誌的配置與使用

閱讀文字大概需要3分鐘。mysql慢查詢日誌是我們在日常工作中經常會遇到的乙個功能,mysql慢查詢日誌提供了超過指定時間閾值的查詢資訊,為效能優化提供了主要的參考依據,是乙個非常實用的功能,mysql慢查詢日誌的開啟和配置非常簡單,可以指定記錄的檔案 或者表 超過的時間閾值等就可以記錄到慢sql了...

mysql慢查詢的使用 mysql 慢查詢使用指南

慢查詢顧名思義就是查詢比較慢的查詢,所以它是相對不是絕對的。1.檢視慢查詢狀態 我們先看一下慢查詢日誌有沒有被開啟,命令列介面輸入 show variables like slow query 2.檢視慢查詢時間 檢視我慢查詢設定的時間,命令列介面輸入 show variables like lon...

MySQL 慢查詢日誌配置與簡析

mysql慢查詢日誌配置與簡析 by 授客qq 1033553122 1 檢視是否開啟 慢查詢 日誌 說明 a.如果slow query log引數值為 off則表示沒開啟,如果為 on則表示開啟 b.slow query log file 引數值為慢查詢日誌存放路徑與名稱 5.6及以上版本 可以不...