新聞中心
MySQL慢日志查詢對于很多剛接觸MySQL數(shù)據(jù)的新人來說比較陌生,下面就為您介紹MySQL慢日志查詢的用法和好處,供您參考。

mysql有一個(gè)功能就是可以log下來運(yùn)行的比較慢的sql語句,默認(rèn)是沒有這個(gè)log的
打開 my.ini ,找到 [mysql] 在其下面添加
long_query_time = 2
log-slow-queries = D:/mysql/logs/slow.log #設(shè)置把日志寫在那里,可以為空,系統(tǒng)會給一個(gè)缺省的文件
#log-slow-queries = /var/youpath/slow.log linux下host_name-slow.log
log-queries-not-using-indexes
long_query_time 是指執(zhí)行超過多長時(shí)間(單位是秒)的sql會被記錄下來,這里設(shè)置的是2秒。
log-slow-queries 設(shè)置日志所在位置,可以為空,系統(tǒng)會給一個(gè)缺省的文件host_name-slow.log,生成的日志就在mysql的data目錄下
log-queries-not-using-indexes 就是字面意思,記錄下沒有使用索引的query。
以下是mysqldumpslow常用參數(shù)說明,詳細(xì)的可應(yīng)用mysqldumpslow -help查詢。
-s,是表示按照何種方式排序,c、t、l、r分別是按照記錄次數(shù)、時(shí)間、查詢時(shí)間、返回的記錄數(shù)來排序(從大到小),ac、at、al、ar表示相應(yīng)的倒敘。
-t,是top n的意思,即為返回前面多少條數(shù)據(jù)。
-g,后邊可以寫一個(gè)正則匹配模式,大小寫不敏感。
接下來就是用mysql自帶的慢查詢工具mysqldumpslow分析了(mysql的bin目錄下
),我這里的日志文件名字是host-slow.log。
列出記錄次數(shù)最多的10個(gè)sql語句
mysqldumpslow -s c -t 10 host-slow.log
列出返回記錄集最多的10個(gè)sql語句
mysqldumpslow -s r -t 10 host-slow.log
按照時(shí)間返回前10條里面含有左連接的sql語句
mysqldumpslow -s t -t 10 -g "left join" host-slow.log
使用mysqldumpslow命令可以非常明確的得到各種我們需要的查詢語句,對MySQL查詢語句的監(jiān)控、分析、優(yōu)化起到非常大的幫助。
【編輯推薦】
MYSQL查詢重復(fù)記錄的方法
MySQL隨機(jī)查詢的實(shí)現(xiàn)方法
MySQL查詢分頁的優(yōu)化
MySQL查詢結(jié)果按某值排序
MySQL查詢中的非空問題
網(wǎng)站標(biāo)題:快速開啟MySQL慢日志查詢的方法
URL地址:http://m.fisionsoft.com.cn/article/cdscscg.html


咨詢
建站咨詢
