MySQL慢查詢?nèi)罩镜淖饔煤烷_啟
前言
MySQL的慢查詢?nèi)罩臼荕ySQL提供的一種日志記錄,它用來(lái)記錄在MySQL中響應(yīng)時(shí)間超過(guò)閥值的語(yǔ)句,具體指運(yùn)行時(shí)間超過(guò)long_query_time值的SQL,則會(huì)被記錄到慢查詢?nèi)罩局小ong_query_time的默認(rèn)值為10,意思是運(yùn)行10S以上的語(yǔ)句。默認(rèn)情況下,Mysql數(shù)據(jù)庫(kù)并不啟動(dòng)慢查詢?nèi)罩荆枰覀兪謩?dòng)來(lái)設(shè)置這個(gè)參數(shù),當(dāng)然,如果不是調(diào)優(yōu)需要的話,一般不建議啟動(dòng)該參數(shù),因?yàn)殚_啟慢查詢?nèi)罩緯?huì)或多或少帶來(lái)一定的性能影響。慢查詢?nèi)罩局С謱⑷罩居涗泴懭胛募仓С謱⑷罩居涗泴懭霐?shù)據(jù)庫(kù)表。
官方文檔,關(guān)于慢查詢的日志介紹如下(部分資料,具體參考官方相關(guān)鏈接):
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.
慢查詢?nèi)罩鞠嚓P(guān)參數(shù)
MySQL 慢查詢的相關(guān)參數(shù)解釋:
- slow_query_log :是否開啟慢查詢?nèi)罩荆?表示開啟,0表示關(guān)閉。
- log-slow-queries :舊版(5.6以下版本)MySQL數(shù)據(jù)庫(kù)慢查詢?nèi)罩敬鎯?chǔ)路徑??梢圆辉O(shè)置該參數(shù),系統(tǒng)則會(huì)默認(rèn)給一個(gè)缺省的文件host_name-slow.log
- slow-query-log-file:新版(5.6及以上版本)MySQL數(shù)據(jù)庫(kù)慢查詢?nèi)罩敬鎯?chǔ)路徑??梢圆辉O(shè)置該參數(shù),系統(tǒng)則會(huì)默認(rèn)給一個(gè)缺省的文件host_name-slow.log
- long_query_time :慢查詢閾值,當(dāng)查詢時(shí)間多于設(shè)定的閾值時(shí),記錄日志。
- log_queries_not_using_indexes:未使用索引的查詢也被記錄到慢查詢?nèi)罩局校蛇x項(xiàng))。
- log_output:日志存儲(chǔ)方式。log_output='FILE'表示將日志存入文件,默認(rèn)值是'FILE'。log_output='TABLE'表示將日志存入數(shù)據(jù)庫(kù),這樣日志信息就會(huì)被寫入到mysql.slow_log表中。MySQL數(shù)據(jù)庫(kù)支持同時(shí)兩種日志存儲(chǔ)方式,配置的時(shí)候以逗號(hào)隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統(tǒng)的專用日志表中,要比記錄到文件耗費(fèi)更多的系統(tǒng)資源,因此對(duì)于需要啟用慢查詢?nèi)罩荆中枰軌颢@得更高的系統(tǒng)性能,那么建議優(yōu)先記錄到文件。
慢查詢?nèi)罩镜淖饔?/h3>
慢查詢?nèi)罩緯?huì)把查詢耗時(shí)超過(guò)規(guī)定時(shí)間的SQL語(yǔ)句記錄下來(lái),利用慢查詢?nèi)罩?,可以定位分析性能的瓶頸
查看慢查詢?nèi)罩竟δ苁欠耖_啟,以及慢查詢?nèi)罩疚募娣拍夸?/p>
SHOW VARIABLES LIKE 'slow_query%'
開啟慢查詢?nèi)罩?/h3>
- slow_query_log 可以設(shè)置慢查詢?nèi)罩镜拈_關(guān)狀態(tài)
- long_query_time 可以規(guī)定查詢超時(shí)的時(shí)間,單位是秒
在MySQL配置文件 /etc/my.cnf 中,設(shè)置
slow_query_log=ON long_query_time=1
開啟慢查詢?nèi)罩荆涗洸樵兂^(guò)1秒的sql語(yǔ)句,重啟MySQL后生效。
可以使用下面sql測(cè)試以下
SELECT SLEEP(2);
慢查詢?nèi)罩居涗浳募?/p>
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時(shí)間戳
- Query_time sql執(zhí)行時(shí)長(zhǎng)
- Rows_sent 返回幾條記錄
總結(jié)
到此這篇關(guān)于MySQL慢查詢?nèi)罩镜淖饔煤烷_啟的文章就介紹到這了,更多相關(guān)MySQL慢查詢?nèi)罩緝?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL慢查詢?nèi)罩緎lowlog的具體使用
- 詳解MySQL的慢查詢?nèi)罩竞湾e(cuò)誤日志
- 怎樣快速開啟MySQL的慢查詢?nèi)罩?/a>
- MySQL通用查詢?nèi)罩竞吐樵內(nèi)罩救娣治?/a>
- MySQL慢查詢?nèi)罩局械腖ock_time由來(lái)解析
- MySQL慢查詢?nèi)罩境敿?xì)總結(jié)
- 深入了解MySQL中的慢查詢?nèi)罩?/a>
- MySQL優(yōu)化教程之慢查詢?nèi)罩緦?shí)踐
- MySQL 慢查詢?nèi)罩旧钊肜斫?/a>
- MySQL 慢查詢?nèi)罩镜拈_啟與配置
- MySQL慢查詢?nèi)罩?Slow Query Log)的實(shí)現(xiàn)
相關(guān)文章
手把手帶你徹底卸載MySQL數(shù)據(jù)庫(kù)
相信大家都因?yàn)楦鞣N各樣的原因可能需要卸載MySQL或者卸載重裝,但是如果MySQL不能清理干凈的話是很容易出現(xiàn)問題的,這篇文章主要給大家介紹了關(guān)于如何徹底卸載MySQL數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2022-06-06MYSQL如何 查詢數(shù)據(jù)庫(kù)中所有表中的數(shù)據(jù)量
INFORMATION_SCHEMA.TABLES 是 MySQL 中的系統(tǒng)表,用于存儲(chǔ)關(guān)于數(shù)據(jù)庫(kù)中的表的信息,這篇文章主要介紹了MYSQL如何 查詢數(shù)據(jù)庫(kù)中所有表中的數(shù)據(jù)量,需要的朋友可以參考下2024-01-01EXCEL數(shù)據(jù)上傳到SQL SERVER中的簡(jiǎn)單實(shí)現(xiàn)方法
以下是對(duì)EXCEL數(shù)據(jù)上傳到SQL SERVER中的簡(jiǎn)單實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08mysql日志文件General_log和Binlog開啟及詳解
MySQL中的數(shù)據(jù)變化會(huì)體現(xiàn)在上面日志中,下面這篇文章主要給大家介紹了關(guān)于mysql日志文件General_log和Binlog開啟及詳解的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05一條sql詳解MYSQL的架構(gòu)設(shè)計(jì)詳情
這篇文章主要介紹了一條sql詳解MYSQL的架構(gòu)設(shè)計(jì)詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié)
這篇文章主要介紹了MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié),本文總結(jié)了6種分頁(yè)的方法并分別一一講解它們的特點(diǎn),需要的朋友可以參考下2015-07-07Ubuntu安裝Mysql啟用遠(yuǎn)程連接的詳細(xì)圖文教程
在Ubuntu系統(tǒng)中添加了MySQL賬戶,賦予了數(shù)據(jù)庫(kù)完全操作權(quán)限,并且允許數(shù)據(jù)庫(kù)從外部鏈接但是,還是無(wú)法遠(yuǎn)程訪問MySQL數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Ubuntu安裝Mysql啟用遠(yuǎn)程連接的相關(guān)資料,需要的朋友可以參考下2023-04-04