国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

香港云服务器
服務器之家 - 數據庫 - Mysql - MySQL慢查詢日志的基本使用教程

MySQL慢查詢日志的基本使用教程

2019-06-11 11:03聽風。服務器之家 Mysql

MySQL的慢查詢日志是MySQL提供的一種日志記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL,則會被記錄到慢查詢日志中。這篇文章主要給大家介紹了關于MySQL慢查詢日志的基本使用的相關資

慢查詢日志相關參數

MySQL 慢查詢的相關參數解釋:slow_query_log :是否開啟慢查詢日志,1表示開啟,0表示關閉。

  • 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'表示將日志存入數據庫,這樣日志信息就會被寫入到mysql.slow_log表中。MySQL數據<br>庫支持同時兩種日志存儲方式,配置的時候以逗號隔開即可,如:log_output='FILE,TABLE'。日志記錄到系統的專用日志表中,要比記錄到文件耗費更多的系統資源,因此對于需要啟用慢查詢日志,又需<br>要能夠獲得更高的系統性能,那么建議優先記錄到文件。

一. 設置方法

使用慢查詢日志里捕獲

啟用之前需要先進行一些設置

方法一:全局變量設置

設置慢查詢日志的日志文件位置

1set global slow_query_log_file = "D:/slow_log/slow_log.log" ;

設置是否對未使用索引的SQL進行記錄

1set global log_queries_not_using_indexes = on;

設置只要SQL執行時間超過n秒的就記錄

1set global long_query_time = 0.001 ;

此處設置的0.001秒,便于測試,一般情況比這個大

啟用mysql慢查詢日志

1set global slow_query_log = on;

方法二:配置文件設置

修改配置文件my.cnf,在[mysqld]下的下方加入

1[mysqld]
2slow_query_log = ON
3log_queries_not_using_indexes = ON;
4slow_query_log_file = /usr/local/mysql/data/slow.log
5long_query_time = 1

查看設置后的參數

1show variables like 'slow_query%';
2show variables like 'long_query__time';

二. 慢查詢日志記錄的內容

01Time   Id Command Argument
02# Time: 2019-01-08T04:12:09.269315Z
03# User@Host: h5_test[h5_test] @ localhost [::1] Id: 12
04# Query_time: 0.000831 Lock_time: 0.000198 Rows_sent: 1 Rows_examined: 3
05use mc_productdb;
06SET timestamp=1546920729;
07SELECT t.customer_id,t.title,t.content
08FROM (
09SELECT customer_id FROM product_comment WHERE product_id =199726 AND audit_status = 1 LIMIT 0,15
10)a JOIN product_comment t
11ON a.customer_id = t.comment_id;
  • Time:執行查詢的日期時間
  • User@Host:執行查詢的用戶和客戶端IP
  • Id:是執行查詢的線程Id
  • Query_time:SQL執行所消耗的時間
  • Lock_time:執行查詢對記錄鎖定的時間
  • Rows_sent:查詢返回的行數
  • Rows_examined:為了返回查詢的數據所讀取的行數

三. 如何分析慢查詢日志

01Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]
02 
03Parse and summarize the MySQL slow query log. Options are
04 
05 --verbose verbose
06 --debug debug
07 --help write this text to standard output
08 
09 -v  verbose
10 -d  debug
11 -s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default
12  al: average lock time
13  ar: average rows sent
14  at: average query time
15   c: count
16   l: lock time
17   r: rows sent
18   t: query time
19 -r  reverse the sort order (largest last instead of first)
20 -t NUM just show the top n queries
21 -a  don't abstract all numbers to N and strings to 'S'
22 -n NUM abstract numbers with at least n digits within names
23 -g PATTERN grep: only consider stmts that include this string
24 -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),
25  default is '*', i.e. match all
26 -i NAME name of server instance (if using mysql.server startup script)
27 -l  don't subtract lock time from total time

由于慢查詢日志中會含有大量的重復的SQL,為了方便,可以通過mysql提供的命令行工具 mysqldumpslow 來分析日志

01$ mysqldumpslow.pl slow_log.log
02 
03Reading mysql slow query log from slow_log.log
04Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), 0users@0hosts
05 C:\Program Files\MySQL\MySQL Server N.N\bin\mysqld.exe, Version: N.N.N-log (MySQL Community Server (GPL)). started with:
06 TCP Port: N, Named Pipe: MySQL
07 # Time: N-N-08T04:N:N.269315Z
08 # User@Host: h5_test[h5_test] @ localhost [::N] Id: N
09 # Query_time: N.N Lock_time: N.N Rows_sent: N Rows_examined: N
10 use mc_productdb;
11 SET timestamp=N;
12 SELECT t.customer_id,t.title,t.content
13 FROM (
14 SELECT customer_id FROM product_comment WHERE product_id =N AND audit_status = N LIMIT N,N
15 )a JOIN product_comment t
16 ON a.customer_id = t.comment_id

與慢查詢日志中記錄的數據是相似的,只是多出了一行Count,這一行記錄的是這條SQL在記錄慢查詢日志期間的執行次數,如果一個SQL多次被執行,用這個命令分析時,只會出現一個SQL日志,Count里的數值代表執行次數,其他數字為了合并表示用N代替

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
381
主站蜘蛛池模板: 国产精品二区三区 | 国产成人精品久久二区二区 | 国产毛片黄色片 | 国产精品三级视频 | 91av免费在线观看 | 国产精品一码二码三码在线 | 国产视频中文字幕 | 亚洲国产精品久久人人爱 | 国产一区久久久 | 一区二区日本 | 国产免费视频在线 | 亚洲视频在线观看 | 午夜影院啊啊啊 | 精品国产乱码久久久久久1区2区 | av网站免费在线观看 | 丝袜+亚洲+另类+欧美+变态 | 黄久久久 | 久久99久久99精品免观看粉嫩 | 91精品国产综合久久久久久丝袜 | 国产在线精品一区 | 午夜视频在线观看网站 | 欧美与黑人午夜性猛交久久久 | 中文字幕久久久 | 激情综合色综合久久综合 | 亚洲精品第一页 | 日韩毛片| 亚洲a网站 | 中文字幕成人在线 | 天堂资源最新在线 | 亚洲伦理一区二区 | 成人av高清在线观看 | 成视频年人免费看黄网站 | 日韩在线精品视频 | 日韩精品一区二区三区视频播放 | 毛片哪里看| 欧美日韩久久精品 | 成人av高清| 久久91av| 精品一区二区6 | 亚洲国产精品久久久 | 日本在线视频免费观看 |