首頁  >  文章  >  資料庫  >  mysql慢查詢語句是什麼

mysql慢查詢語句是什麼

WBOY
WBOY原創
2022-02-24 11:11:514739瀏覽

在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影片教學

#

以上是mysql慢查詢語句是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn