主頁 > 知識庫 > MySQL慢查詢日志的作用和開啟

MySQL慢查詢日志的作用和開啟

熱門標簽:常州電銷外呼系統(tǒng)一般多少錢 北京人工外呼系統(tǒng)價錢 沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 400電話鄭州申請 房產智能外呼系統(tǒng)品牌 福州呼叫中心外呼系統(tǒng)哪家好 天智外呼系統(tǒng) 云南語音外呼系統(tǒng)平臺

前言

MySQL的慢查詢日志是MySQL提供的一種日志記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL,則會被記錄到慢查詢日志中。long_query_time的默認值為10,意思是運行10S以上的語句。默認情況下,Mysql數據庫并不啟動慢查詢日志,需要我們手動來設置這個參數,當然,如果不是調優(yōu)需要的話,一般不建議啟動該參數,因為開啟慢查詢日志會或多或少帶來一定的性能影響。慢查詢日志支持將日志記錄寫入文件,也支持將日志記錄寫入數據庫表。

官方文檔,關于慢查詢的日志介紹如下(部分資料,具體參考官方相關鏈接):

The slow query log consists of SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. The minimum and default values of long_query_time are 0 and 10, respectively. The value can be specified to a resolution of microseconds. For logging to a file, times are written including the microseconds part. For logging to tables, only integer times are written; the microseconds part is ignored.

By default, administrative statements are not logged, nor are queries that do not use indexes for lookups. This behavior can be changed usinglog_slow_admin_statements and log_queries_not_using_indexes, as described later. 

慢查詢日志相關參數

MySQL 慢查詢的相關參數解釋:

  • slow_query_log    :是否開啟慢查詢日志,1表示開啟,0表示關閉。
  • log-slow-queries  :舊版(5.6以下版本)MySQL數據庫慢查詢日志存儲路徑。可以不設置該參數,系統(tǒng)則會默認給一個缺省的文件host_name-slow.log
  • slow-query-log-file:新版(5.6及以上版本)MySQL數據庫慢查詢日志存儲路徑??梢圆辉O置該參數,系統(tǒng)則會默認給一個缺省的文件host_name-slow.log
  • long_query_time :慢查詢閾值,當查詢時間多于設定的閾值時,記錄日志。
  • log_queries_not_using_indexes:未使用索引的查詢也被記錄到慢查詢日志中(可選項)。
  • log_output:日志存儲方式。log_output='FILE'表示將日志存入文件,默認值是'FILE'。log_output='TABLE'表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中。MySQL數據庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統(tǒng)的專用日志表中,要比記錄到文件耗費更多的系統(tǒng)資源,因此對于需要啟用慢查詢日志,又需要能夠獲得更高的系統(tǒng)性能,那么建議優(yōu)先記錄到文件。

慢查詢日志的作用

慢查詢日志會把查詢耗時超過規(guī)定時間的SQL語句記錄下來,利用慢查詢日志,可以定位分析性能的瓶頸

查看慢查詢日志功能是否開啟,以及慢查詢日志文件存放目錄

SHOW VARIABLES LIKE 'slow_query%'

開啟慢查詢日志

  • slow_query_log 可以設置慢查詢日志的開關狀態(tài)
  • long_query_time 可以規(guī)定查詢超時的時間,單位是秒

在MySQL配置文件 /etc/my.cnf 中,設置

slow_query_log=ON
long_query_time=1

開啟慢查詢日志,記錄查詢超過1秒的sql語句,重啟MySQL后生效。

可以使用下面sql測試以下

SELECT SLEEP(2);

慢查詢日志記錄文件

Tcp port: 0 Unix socket: (null)
Time   Id Command Argument
# Time: 210125 6:30:14
# User@Host: reptile[reptile] @ [192.168.10.254] Id: 1
# Query_time: 2.000380 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1611556214;
SELECT SLEEP(2);
  • SET timestamp=1611556214; 執(zhí)行sql時間戳
  • Query_time  sql執(zhí)行時長
  • Rows_sent   返回幾條記錄

總結

到此這篇關于MySQL慢查詢日志的作用和開啟的文章就介紹到這了,更多相關MySQL慢查詢日志內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL慢查詢的坑
  • MYSQL慢查詢和日志實例講解
  • MYSQL慢查詢與日志的設置與測試
  • MySQL 慢查詢日志的開啟與配置
  • 實例講解MySQL 慢查詢
  • Mysql sql慢查詢監(jiān)控腳本代碼實例
  • MySQL慢查詢如何定位詳解
  • MySQL開啟慢查詢方法及實例
  • MySQL5.7慢查詢日志時間與系統(tǒng)時間差8小時原因詳解
  • Mysql慢查詢優(yōu)化方法及優(yōu)化原則
  • 通過MySQL慢查詢優(yōu)化MySQL性能的方法講解
  • MySQL Threads_running飆升與慢查詢的相關問題解決

標簽:拉薩 珠海 黔東 徐州 移動 鹽城 沈陽 沈陽

巨人網絡通訊聲明:本文標題《MySQL慢查詢日志的作用和開啟》,本文關鍵詞  MySQL,慢,查詢,日志,的,作用,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL慢查詢日志的作用和開啟》相關的同類信息!
  • 本頁收集關于MySQL慢查詢日志的作用和開啟的相關信息資訊供網民參考!
  • 推薦文章