您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關mysql慢查詢語句是哪個的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在mysql中,慢查詢語句指的是在慢查詢日志中響應時間超過閾值的語句,具體的運行時間超過“long_query_time”值的SQL語句;可以設置“slow_query_log”的參數來設置是否開啟慢查詢,“1”表示開啟,“0”表示關閉。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
MySQL的慢查詢日志是MySQL提供的一種日志記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL,則會被記錄到慢查詢日志中。
long_query_time的默認值為10,意思是運行10S以上的語句。
默認情況下,Mysql數據庫并不啟動慢查詢日志,需要我們手動來設置這個參數,當然,如果不是調優需要的話,一般不建議啟動該參數,因為開啟慢查詢日志會或多或少帶來一定的性能影響。慢查詢日志支持將日志記錄寫入文件,也支持將日志記錄寫入數據庫表。
MySQL 慢查詢的相關參數解釋:
slow_query_log:是否開啟慢查詢日志,1表示開啟,0表示關閉。
log-slow-queries :舊版(5.6以下版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log
slow-query-log-file:新版(5.6及以上版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統則會默認給一個缺省的文件host_name-slow.log
long_query_time:慢查詢閾值,當查詢時間多于設定的閾值時,記錄日志。
log_queries_not_using_indexes:未使用索引的查詢也被記錄到慢查詢日志中(可選項)。
log_output:日志存儲方式。log_output='FILE'表示將日志存入文件,默認值是'FILE'。log_output='TABLE'表示將日志存入數據庫。
slow_query_log
默認情況下slow_query_log的值為OFF,表示慢查詢日志是禁用的,可以通過設置slow_query_log的值來開啟,如下所示:
mysql> show variables like '%slow_query_log%'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+
rows in set (0.00 sec)
mysql> set global slow_query_log=1; Query OK, 0 rows affected (0.09 sec)
使用set global slow_query_log=1開啟了慢查詢日志只對當前數據庫生效,MySQL重啟后則會失效。
如果要永久生效,就必須修改配置文件my.cnf(其它系統變量也是如此)。
my.cnf要增加或修改參數slow_query_log 和slow_query_log_file,如下所示
slow_query_log = 1 slow_query_log_file = /tmp/mysql_slow.log
然后重啟MySQL服務器。
slow_query_log_file
這個參數用于指定慢查詢日志的存放路徑,缺省情況是host_name-slow.log文件,
mysql> show variables like 'slow_query_log_file'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+ 1 row in set (0.00 sec)
感謝各位的閱讀!關于“mysql慢查詢語句是哪個”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。