欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操

 更新時間:2022年09月09日 14:43:31   作者:莫秀嫻  
這篇文章主要介紹了mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

一、概述

MySQL的慢查詢?nèi)罩臼荕ySQL提供的一種日志記錄,它用來記錄在MySQL中響應(yīng)時間超過閥值(long_query_time,單位:秒)的SQL語句。默認(rèn)情況下,MySQL不啟動慢查詢?nèi)罩?。本文簡單介紹如何開啟慢查詢?nèi)罩?,如何用mysqldumpslow分析慢查詢。

二、慢查詢?nèi)罩驹O(shè)置

1、臨時設(shè)置

臨時開啟慢查詢?nèi)罩?重啟失效)

set global slow_query_log = on;

注:如果想關(guān)閉慢查詢?nèi)罩?,只需要?zhí)行 set global slow_query_log = off; 即可。

臨時慢查詢時間臨界點(diǎn)  查詢時間高于這個臨界點(diǎn)的都會被記錄到慢查詢?nèi)罩局?重啟失效)

set long_query_time = 1;

設(shè)置慢查詢存儲的方式(重啟失效)

set?global? log_output = file;

說明: 可以看到,我這里設(shè)置為了file,就是說我的慢查詢?nèi)罩臼峭ㄟ^file體現(xiàn)的,默認(rèn)是none,我們可以設(shè)置為table或者file,如果是table則慢查詢信息會保存到mysql庫下的slow_log表中。

2、查詢慢查詢?nèi)罩镜拈_啟狀態(tài)和慢查詢?nèi)罩緝Υ娴奈恢?/h3>
show variables like '%quer%';

參數(shù)說明:

  • slow_query_log : 是否已經(jīng)開啟慢查詢
  • slow_query_log_file : 慢查詢?nèi)罩疚募窂?/li>
  • long_query_time :  超過多少秒的查詢就寫入日志

log_queries_not_using_indexes 如果值設(shè)置為ON,則會記錄所有沒有利用索引的查詢(性能優(yōu)化時開啟此項(xiàng),平時不要開啟)

3、查看存放日志的形式

show variables like 'log_output';

4、永久開啟慢日志

修改my.cnf

在配置文件my.cnf(一般為/etc/my.cnf)中的[mysqld] section增加如下參數(shù)。

[mysqld]slow_query_log= 1slow_query_log_file= /var/lib/mysql/slow-query.log # 若沒有指定,默認(rèn)名字為hostname_slow.loglong_query_time= 1log_queries_not_using_indexes= 1

其中,slow_query_log = 1,表示開啟慢查詢,0表示關(guān)閉

slow_query_log_file,指定慢查詢?nèi)罩韭窂剑枰狹ySQL對該路徑有寫權(quán)限

long_query_time = 1,表示查詢時間>=1秒才記錄日志,默認(rèn)10s

log_queries_not_using_indexes = 1,表明記錄沒有使用索引的 SQL 語句

重啟MySQL服務(wù),重啟MySQL后會看到/var/lib/mysql/slow-query.log文件。

三、慢查詢測試

制造慢查詢并執(zhí)行。如下:

mysql> select sleep(1);+----------+
| sleep(1) |
+----------+
| 0 |
+----------+
1 row in set (1.00 sec)

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

打開慢查詢?nèi)罩疚募???梢钥吹缴鲜雎樵兊腟QL語句被記錄到日志中。

四、慢查詢分析工具

mysqldumpslow

mysqldumpslow是MySQL自帶的分析慢查詢的工具。該工具是Perl腳本。

常用參數(shù)如下:

  • -s:排序方式,值如下
  • c:查詢次數(shù)
  • t:查詢時間
  • l:鎖定時間
  • r:返回記錄
  • ac:平均查詢次數(shù)
  • al:平均鎖定時間
  • ar:平均返回記錄書
  • at:平均查詢時間
  • -t:topN查詢
  • -g:正則表達(dá)式

獲取訪問次數(shù)最多的5個SQL語句:

按照時間排的top 5個SQL語句

$ mysqldumpslow -s t -t 5 /var/lib/mysql/slow-query.log

按照時間排序且含有'like'的top 5個SQL語句

$ mysqldumpslow -s t -t 3 -g "like" /var/lib/mysql/slow-query.log

五、MySQL 清理slowlog方法

SET GLOBAL slow_query_log = 'OFF';
ALTER TABLEmysql.slow_log RENAME mysql.slow_log_drop;
CREATE TABLE mysql.slow_log LIKEmysql.slow_log_drop;
SET GLOBAL slow_query_log = 'ON';
DROP TABLE mysql.slow_log_drop;

六、小結(jié)

默認(rèn)情況下,MySQL不啟動慢查詢?nèi)罩?。若要檢查慢查詢,需要我們手動設(shè)置這個參數(shù)。一般情況下,若非調(diào)優(yōu)需要,不建議啟動該參數(shù),因?yàn)殚_啟慢查詢?nèi)罩净蚨嗷蛏贂硪欢ǖ男阅苡绊憽B樵內(nèi)罩局С謱⑷罩居涗泴懭胛募?,也支持將日志記錄寫入?shù)據(jù)庫表。

到此這篇關(guān)于mysql慢查詢?nèi)罩据嗈D(zhuǎn)_MySQL慢查詢?nèi)罩緦?shí)操的文章就介紹到這了,更多相關(guān)mysql慢查詢 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論