日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启

發(fā)布時(shí)間:2024/8/1 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

MySQL的慢查詢?nèi)罩臼荕ySQL提供的一種日志記錄,它用來記錄在MySQL中響應(yīng)時(shí)間超過閥值的語句,具體指運(yùn)行時(shí)間超過long_query_time值的SQL,則會(huì)被記錄到慢查詢?nèi)罩局小ong_query_time的默認(rèn)值為10,意思是運(yùn)行10S以上的語句。默認(rèn)情況下,Mysql數(shù)據(jù)庫并不啟動(dòng)慢查詢?nèi)罩?#xff0c;需要我們手動(dòng)來設(shè)置這個(gè)參數(shù),當(dāng)然,如果不是調(diào)優(yōu)需要的話,一般不建議啟動(dòng)該參數(shù),因?yàn)殚_啟慢查詢?nèi)罩緯?huì)或多或少帶來一定的性能影響。慢查詢?nèi)罩局С謱⑷罩居涗泴懭胛募?#xff0c;也支持將日志記錄寫入數(shù)據(jù)庫表。

官方文檔,關(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)罩?#xff0c;1表示開啟,0表示關(guān)閉。

log-slow-queries? :舊版(5.6以下版本)MySQL數(shù)據(jù)庫慢查詢?nèi)罩敬鎯β窂健?梢圆辉O(shè)置該參數(shù),系統(tǒng)則會(huì)默認(rèn)給一個(gè)缺省的文件host_name-slow.log

slow-query-log-file:新版(5.6及以上版本)MySQL數(shù)據(jù)庫慢查詢?nèi)罩敬鎯β窂健?梢圆辉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)罩局?可選項(xiàng))。

log_output:日志存儲方式。log_output='FILE'表示將日志存入文件,默認(rèn)值是'FILE'。log_output='TABLE'表示將日志存入數(shù)據(jù)庫,這樣日志信息就會(huì)被寫入到mysql.slow_log表中。MySQL數(shù)據(jù)庫支持同時(shí)兩種日志存儲方式,配置的時(shí)候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統(tǒng)的專用日志表中,要比記錄到文件耗費(fèi)更多的系統(tǒng)資源,因此對于需要啟用慢查詢?nèi)罩?#xff0c;又需要能夠獲得更高的系統(tǒng)性能,那么建議優(yōu)先記錄到文件。

慢查詢?nèi)罩镜淖饔?/p>

慢查詢?nèi)罩緯?huì)把查詢耗時(shí)超過規(guī)定時(shí)間的SQL語句記錄下來,利用慢查詢?nèi)罩?#xff0c;可以定位分析性能的瓶頸

查看慢查詢?nèi)罩竟δ苁欠耖_啟,以及慢查詢?nèi)罩疚募娣拍夸?/p>

SHOW VARIABLES LIKE 'slow_query%'

開啟慢查詢?nèi)罩?/p>

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)罩?#xff0c;記錄查詢超過1秒的sql語句,重啟MySQL后生效。

可以使用下面sql測試以下

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í)長

Rows_sent?? 返回幾條記錄

總結(jié)

到此這篇關(guān)于MySQL慢查詢?nèi)罩镜淖饔煤烷_啟的文章就介紹到這了,更多相關(guān)MySQL慢查詢?nèi)罩緝?nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

總結(jié)

以上是生活随笔為你收集整理的mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。