MySQL慢查詢分析

慢查詢的定義

  • MySQL可以記錄所有執(zhí)行操作long_query_time參數(shù)設(shè)定的時(shí)間閾值的SQL語(yǔ)句的日志--滿查詢?nèi)罩?。該日志能為SQL語(yǔ)句的優(yōu)化帶來(lái)很好的幫助
  • 默認(rèn)情況下,慢查詢?nèi)罩臼顷P(guān)閉的,要使用慢查詢?nèi)罩竟δ埽紫纫_啟慢查詢?nèi)罩竟δ?/li>

啟動(dòng)慢查詢?nèi)罩?/h2>
  • 常用配置

    • slow_query_log 啟動(dòng)停止記錄慢查詢?nèi)罩?/li>
    • slow_query_log_file 指定慢查詢?nèi)罩镜拇鎯?chǔ)路徑及文件(默認(rèn)和數(shù)據(jù)文件放在一起)
    • long_queries_not_using_indexes 是否記錄未使用索引的SQL
    • log_output 日志存放的位置
  • 查看慢查詢?nèi)罩拘畔? `SHOW VARIABLES LIKE '%slow_query_log%'


  • 開啟慢查詢?nèi)罩荆?SET GLOBAL slow_query_log = 1;

  • 關(guān)閉慢查詢?nèi)罩荆?SET GLOBAL slow_query_log = 0;

慢查詢?nèi)罩镜膬?nèi)容

行號(hào) 內(nèi)容
1 用戶名、用戶的IP信息、線程ID號(hào)
2 執(zhí)行花費(fèi)的時(shí)間
3 執(zhí)行獲得鎖的時(shí)間
4 獲得的結(jié)果行數(shù)
5 掃描的數(shù)據(jù)行數(shù)
6 SQL執(zhí)行的具體時(shí)間
7 具體的SQL語(yǔ)句

慢查詢分析工具-mysqldumpslow

  • 匯總除查詢條件外其他完全相同的SQL,并將分析結(jié)果按照參數(shù)中所指定的順序輸出

  • 語(yǔ)法

mysqldumpslow -s r-t 10 slow-mysql.log
-s order (c, t, l, r, at, al, ar)
c:總次數(shù)
t:總時(shí)間
l:鎖的時(shí)間
r:總數(shù)據(jù)行
at,al,ar : t,l,r 平均數(shù) 【例如:at = 總時(shí)間 / 總次數(shù)】

-t top 指定取前面幾天作為結(jié)果輸出
mysqldumpslow結(jié)果樣例

慢查詢分析工具 - pt_query_digest

  • pt_query_digest可以遠(yuǎn)程的分析慢查詢?nèi)罩拘畔?/p>

  • 匯總信息

    • 總的查詢時(shí)間(Exec time)

    • 總的鎖定時(shí)間(Lock time)

    • 總的獲取數(shù)據(jù)量(Rows sent)

    • 掃描的數(shù)據(jù)量(Rows examine)

    • 查詢大?。≦uery size)


      匯總信息
    • Response: 總的響應(yīng)時(shí)間

    • time:該查詢?cè)诒敬畏治鲋锌偟臅r(shí)間占比

    • calls:執(zhí)行次數(shù),即本次分析總共有多少條這種類型的查詢語(yǔ)句

    • R/Call:平均每次執(zhí)行的響應(yīng)時(shí)間

    • Item:查詢對(duì)象

Profile
  • 執(zhí)行計(jì)劃
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容