MySQL中mysqldumpslow分析查詢慢sql語句

來源:互聯網
上載者:User

對於大多數的程式員來說,最容易發現並解決的問題就是MySQL的慢查詢或者沒有利用索引的查詢,所以這裡主要給大家介紹如何利用官方的mysqldumpslow工具方便的查看這些資訊。如何開啟MySQL的慢查詢,
MySQL的慢查詢記錄

SHOW STATUS
直接在命令列下登陸MySQL運行SHOW STATUS;查詢語句,詳細如下圖

同樣的語句還有SHOW VARIABLES;,SHOW STATUS是查看MySQL運行情況,和上面那種通過pma查看到的資訊基本類似。

SHOW VARIABLES
SHOW VARIABLES是查看MySQL的配置參數,還可以使用類似SHOW VARIABLES LIKE 'Key%'

SHOW PROCESSLIST
SHOW PROCESSLIST是查看當前進行中的進程,對於有鎖表等情況的排查很有用處。一般情況下,開啟MySQL的慢查詢記錄同樣有利於排查。

SHOW OPEN TABLES
SHOW OPEN TABLES是顯示當前已經被開啟的表列表。

mysqladmin status
使用MySQL內建的mysqladmin 工具查看status,使用以下命令

 代碼如下 複製代碼
mysqladmin -uroot --password='password' status

顯示的結果如下:

 代碼如下 複製代碼
Uptime: 87117 Threads: 1 Questions: 5481626 Slow queries: 16 Opens: 2211 Flush tables: 1 Open tables: 512 Queries per second avg: 62.923

另外可以添加 -i 5 參數,讓其每五秒自動重新整理之。

 代碼如下 複製代碼
 代碼如下 複製代碼
mysqladmin -uroot --password='password' status -i 5

mysqladmin extended-status

同樣的可以使用mysqladmin -uroot --password='password' extended-status來查看更多的MySQL運行資訊,這種方式和第一種查看的資訊基本一樣。

好了再迴歸檔案

 代碼如下 複製代碼
mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log

這會輸出記錄次數最多的10條SQL語句,其中:


-s, 是表示按照何種方式排序,c、t、l、r分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序,ac、at、al、ar,表示相應的倒敘;
-t, 是top n的意思,即為返回前面多少條的資料;
-g, 後邊可以寫一個正則匹配模式,大小寫不敏感的;
比如

 代碼如下 複製代碼
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log

得到返回記錄集最多的10個查詢。

 代碼如下 複製代碼
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log

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

小結
使用mysqldumpslow命令可以非常明確的得到各種我們需要的查詢語句,對MySQL查詢語句的監控、分析、最佳化是MySQL最佳化的第一步,也是非常重要的一步。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.