mysql慢查詢語句是什么

mysql中,慢查詢語句指的是在慢查詢日志中響應時間超過閾值的語句,具體的運行時間超過“long_query_time”值的SQL語句;可以設置“slow_query_log”的參數來設置是否開啟慢查詢,“1”表示開啟,“0”表示關閉。

mysql慢查詢語句是什么

本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql慢查詢語句是什么

?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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享