mysql 5.6 設定慢查詢

來源:互聯網
上載者:User

標籤:

mysql 5.6 開啟慢查詢日誌

slow_query_log = on    #開啟慢查詢 1 或者 onlong_query_time = 3   #記錄超過的時間,單位是秒,預設是10sslow_query_log_file = /data/mysql/dev-service-node2-slow.log  #指定記錄檔存放位置,可以為空白,系統會給一個預設的檔案host_name-slow.loglog_queries_not_using_indexes  = true #如果啟用了慢查詢日誌,則此變數將控制那些不使用索引的查詢是否應該被記錄。如果進行記錄,將使得記錄檔迅速變得較大。針對這個參數,在官方文檔中還描述了一種比較特殊的情況:This option does not necessarily mean that no index is used. For example, a query that usesa full index scan uses an index but would be logged because the index would not limit the number of rows.

 

 

 

查詢慢查詢出現的次數;

show status like ‘Slow_queries‘;

 

 

查看慢查詢日誌:

如果慢查詢日誌中的記錄內容很多,可以使用mysqldumpslow工具,對慢查詢日誌進行分類匯總。
mysqldumpslow是mysql資料庫內建的工具

執行:

mysqldumpslow -a -s t -t 7 /data/mysql/dev-service-node2-slow.log

 

這條命令會輸出執行時間最長的7條sql語句。
這條命令中各個參數的意義:
-s, 是表示按照何種方式排序,c、t、l、r分別是按照語句query次數、query time、lock time、rows sent的總數來排序,
    at、al、ar則是以query time、lock time、rows sent的平均值來排序;
-t, 是top n的意思,即返回排序在最前面的多少條sql語句。

-g ,後邊可以寫一個正則匹配模式,大小寫不敏感的;

 

 

#mysqldumpslow -a -s t -t 7 /data/mysql/dev-service-node2-slow.log

#輸出參數解釋:

 

Count: 15831  Time=8.46s (133943s)  Lock=0.00s (7s)  Rows=578.3 (9154400)

Count: 此語句執行了15831次

Time :  8.46s 是該語句執行的平均時間(有的說是執行的最長時間) 。(133943s) 是該語句執行時間的總和

Lock:   即是lock time  等待鎖的時間

Rows: 即是rows sent , 578.3 表示發送給用戶端的行總數  。 (9154400) 表示掃描的行總數

mysql 5.6 設定慢查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.