溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql慢查詢?nèi)罩臼鞘裁?/h1>
發(fā)布時(shí)間:2021-09-06 14:38:27 來源:億速云 閱讀:128 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章將為大家詳細(xì)講解有關(guān)mysql慢查詢?nèi)罩臼鞘裁矗【幱X得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

定義:mysql提供的一種記錄日志的功能,用來記錄mysql相應(yīng)時(shí)間超過long_query_time值的sql語句,long_query_time默認(rèn)值為10秒,相應(yīng)時(shí)間超過10秒的SQL則會被記錄到日志中。

1、查看慢日志功能的狀態(tài),慢日志功能默認(rèn)是關(guān)閉的

 show variables like '%slow_query_log%';

mysql慢查詢?nèi)罩臼鞘裁?>OFF表示慢日志功能處于關(guān)閉狀態(tài),慢日志記錄存儲在DESKTOP-2331B4V-slow.log文件中,DESKTOP為本人的計(jì)算機(jī)名。</p><p>2、開啟慢日志功能</p><pre class=set global slow_query_log=1;

然后再查詢慢日志狀態(tài)
mysql慢查詢?nèi)罩臼鞘裁?>狀態(tài)為ON,表示慢日志功能已開啟。</p><p>3、查看默認(rèn)的long_query_time時(shí)間 <br/><img src=set global long_query_time=3;

重新打開一個(gè)會話,如果是window系統(tǒng)的話,再重新打卡一個(gè)cmd就可以(注意如果還是在設(shè)置long_query_time的會話中查詢long_query_time時(shí)長的話,還是默認(rèn)的10秒,所以要重啟一個(gè)會話),再次查詢long_query_time時(shí)長
mysql慢查詢?nèi)罩臼鞘裁?></p><p>5、模擬耗時(shí)sql <br/><img src=DESKTOP-2331B4V-slow.log日志,內(nèi)容如下: MySQL, Version: 5.5.60 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: MySQLTime                 Id Command    Argument # Time: 180729 12:52:29# User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 5.005746  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0SET timestamp=1532839949;select sleep(5);

可知,超時(shí)的SQL已經(jīng)寫進(jìn)慢日志中。

慢日志比較多時(shí),還可以查詢慢日志中的條數(shù)
mysql慢查詢?nèi)罩臼鞘裁?></p><p>6、配置</p><p>上面的實(shí)例是用命令進(jìn)行配置的,如果數(shù)據(jù)庫重啟后,配置失效。如果想重啟后,配置任然有效,可以在my.ini下的[mysqld]添加配置的命令:<br/></p><pre class=slow_query_log=1slow_query_log_file=d:/mysql/my.loglong_query_time=3long_output=FILE

關(guān)于“mysql慢查詢?nèi)罩臼鞘裁础边@篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)
AI