mysql(slow-query) 快速开启慢日志查询的方法
為什么80%的碼農都做不了架構師?>>> ??
mysql有一個功能就是可以log下來運行的比較慢的sql語句,默認是沒有這個log的
打開 my.ini ,找到 [mysql] 在其下面添加
long_query_time = 2
log-slow-queries = D:/mysql/logs/slow.log?#設置把日志寫在那里,可以為空,系統會給一個缺省的文件
#log-slow-queries = /var/youpath/slow.log?linux下host_name-slow.log
log-queries-not-using-indexes
long_query_time 是指執行超過多長時間(單位是秒)的sql會被記錄下來,這里設置的是2秒。
log-slow-queries 設置日志所在位置,可以為空,系統會給一個缺省的文件host_name-slow.log,生成的日志就在mysql的data目錄下
log-queries-not-using-indexes 就是字面意思,記錄下沒有使用索引的query。
以下是mysqldumpslow常用參數說明,詳細的可應用mysqldumpslow -help查詢。
-s,是表示按照何種方式排序,c、t、l、r分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序(從大到小),ac、at、al、ar表示相應的倒敘。?
-t,是top n的意思,即為返回前面多少條數據。
-g,后邊可以寫一個正則匹配模式,大小寫不敏感。
接下來就是用mysql自帶的慢查詢工具mysqldumpslow分析了(mysql的bin目錄下
),我這里的日志文件名字是host-slow.log。
列出記錄次數最多的10個sql語句
mysqldumpslow -s c -t 10 host-slow.log
列出返回記錄集最多的10個sql語句
mysqldumpslow -s r -t 10 host-slow.log
按照時間返回前10條里面含有左連接的sql語句
mysqldumpslow -s t -t 10 -g "left join" host-slow.log
使用mysqldumpslow命令可以非常明確的得到各種我們需要的查詢語句,對MySQL查詢語句的監控、分析、優化起到非常大的幫助。
轉載于:https://my.oschina.net/moson/blog/155441
總結
以上是生活随笔為你收集整理的mysql(slow-query) 快速开启慢日志查询的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中floatval()函数的怎么用
- 下一篇: 如何让客户不骂我们