mysql慢查詢使用詳解
1 慢查詢定義
指mysql記錄所有執(zhí)行超過(guò)long_query_time參數(shù)設(shè)定的時(shí)間閾值的SQL語(yǔ)句。慢查詢?nèi)罩揪褪怯涗涍@些sql的日志。
2 開(kāi)啟慢查詢?nèi)罩?/strong>
找到mysql配置文件my.cnf.在mysqld的下面添加
log-slow-queries = D:/MySQL/log/mysqld-slow-query.log #日志存在的位置。(注意權(quán)限的問(wèn)題,可以不用設(shè)置,系統(tǒng)會(huì)給一個(gè)缺省的文件host_name-slow.log)
long-query-time = 5 #SQL執(zhí)行時(shí)間閾值,默認(rèn)為10秒。
#log-long-format #說(shuō)log-long-format選項(xiàng)是用來(lái)設(shè)置日志的格式,它是以擴(kuò)展方式記錄有關(guān)事件。擴(kuò)展方式可記錄誰(shuí)發(fā)出查詢和什么時(shí)候發(fā)出查詢的信息??墒刮覀兏玫卣莆湛蛻舳说牟僮髑闆r。
#log-slow-admin-statements #將慢管理語(yǔ)句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE記入慢查詢?nèi)罩尽?br /> log-queries-not-using-indexes #如果運(yùn)行的SQL語(yǔ)句沒(méi)有使用索引,則mysql數(shù)據(jù)庫(kù)同樣會(huì)將這條SQL語(yǔ)句記錄到慢查詢?nèi)罩疚募小?br />
配置完畢后重啟mysql服務(wù)。
3 測(cè)試
為了方便 我只在my.cnf中配置了慢查詢?nèi)罩镜穆窂?
mysql 版本為 5.1.73
關(guān)于 long_query_time :從mysql 5.1開(kāi)始,long_query_time開(kāi)始以微秒記錄SQL語(yǔ)句運(yùn)行時(shí)間,之前僅用秒為單位記錄。這樣可以更精確地記錄SQL的運(yùn)行時(shí)間,供DBA分析。
進(jìn)入mysql.
mysql> show VARIABLES like "%slow%"; #查看慢查詢?nèi)罩鞠嚓P(guān)的信息
mysql> set global long_query_time=0.01; #將mysql位置的值改為 0.01
mysql> show variables like "long_query_time"; #查看是否生效
mysql> select sleep(2); #延遲2秒執(zhí)行 注:這條sql執(zhí)行完畢以后應(yīng)該已經(jīng)在慢查詢的日志文件中產(chǎn)生相關(guān)的信息記錄
mysql> show global status like '%slow%'; #查看慢查詢語(yǔ)句的次數(shù)
在日志文件中可以看到已經(jīng)記錄了sql.
總結(jié):
Windows下開(kāi)啟MySQL慢查詢
MySQL在Windows系統(tǒng)中的配置文件一般是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2
Linux下啟用MySQL慢查詢
MySQL在Windows系統(tǒng)中的配置文件一般是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log為慢查詢?nèi)罩敬娣诺奈恢?,一般這個(gè)目錄要有MySQL的運(yùn)行帳號(hào)的可寫權(quán)限,一般都將這個(gè)目錄設(shè)置為MySQL的數(shù)據(jù)存放目錄;
long_query_time=2中的2表示查詢超過(guò)兩秒才記錄;
- 深入mysql慢查詢?cè)O(shè)置的詳解
- 詳解MySql的慢查詢分析及開(kāi)啟慢查詢?nèi)罩?/a>
- mysql 開(kāi)啟慢查詢 如何打開(kāi)mysql的慢查詢?nèi)罩居涗?/a>
- MySQL慢查詢查找和調(diào)優(yōu)測(cè)試
- MySQL慢查詢優(yōu)化之慢查詢?nèi)罩痉治龅膶?shí)例教程
- MySQL 開(kāi)啟慢查詢?nèi)罩镜姆椒?/a>
- 對(duì)MySQL慢查詢?nèi)罩具M(jìn)行分析的基本教程
- MySQL慢查詢之pt-query-digest分析慢查詢?nèi)罩?/a>
- MySQL慢查詢?nèi)罩镜呐渲门c使用教程
- MySQL中查詢?nèi)罩九c慢查詢?nèi)罩镜幕緦W(xué)習(xí)教程
- mysql慢查詢操作實(shí)例分析【開(kāi)啟、測(cè)試、確認(rèn)等】
相關(guān)文章
mysql安裝時(shí)出現(xiàn)各種常見(jiàn)問(wèn)題的解決方法
mysql數(shù)據(jù)庫(kù)安裝不了了!mysql最后一步安裝不上?真頭疼!這篇文章主要為大家詳細(xì)介紹了解決mysql安裝時(shí)出現(xiàn)各種經(jīng)典問(wèn)題的方法,感興趣的小伙伴們可以參考一下2016-08-08快速修復(fù)損壞的MySQL數(shù)據(jù)庫(kù)
在長(zhǎng)時(shí)間使用 MySQL 后,數(shù)據(jù)庫(kù)可能會(huì)出現(xiàn)一些問(wèn)題。大多數(shù)問(wèn)題可以通過(guò)簡(jiǎn)單的操作進(jìn)行快速修復(fù)。下面介紹兩種快速檢修 MySQL 數(shù)據(jù)庫(kù)的方法。2011-06-06MySql獲取某個(gè)字段存在于哪個(gè)表的sql語(yǔ)句
本文為大家詳細(xì)介紹下通過(guò)MySql查詢某個(gè)字段所在表是哪一個(gè),具體的sql語(yǔ)句如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-07-07MySQL8.0內(nèi)存相關(guān)參數(shù)總結(jié)
這篇文章主要介紹了MySQL8.0內(nèi)存相關(guān)參數(shù)總結(jié),幫助大家更好的理解和學(xué)習(xí)mysql,感興趣的朋友可以了解下2020-08-08MySQL使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)自動(dòng)更新的應(yīng)用實(shí)例
觸發(fā)器是非常常見(jiàn)的自動(dòng)化數(shù)據(jù)庫(kù)操作方式,無(wú)論是在數(shù)據(jù)更新、刪除還是需要自動(dòng)添加一些內(nèi)容到數(shù)據(jù)表上,觸發(fā)器都可以發(fā)揮作用,熟悉 SQL 的基本語(yǔ)法和一些常見(jiàn)的用例,可以幫助你合理地設(shè)置自己的數(shù)據(jù)庫(kù)操作流程,2024-01-01