久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL慢查詢?nèi)罩驹趺丛O(shè)置

共計(jì) 2054 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

這篇文章主要介紹了 MySQL 慢查詢?nèi)罩驹趺丛O(shè)置的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇 MySQL 慢查詢?nèi)罩驹趺丛O(shè)置文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

一、概述

MySQL 的慢查詢?nèi)罩臼?MySQL 提供的一種日志記錄,它用來(lái)記錄在 MySQL 中響應(yīng)時(shí)間超過(guò)閥值 (long_query_time,單位:秒) 的 SQL 語(yǔ)句。默認(rèn)情況下,MySQL 不啟動(dòng)慢查詢?nèi)罩尽1疚暮?jiǎn)單介紹如何開(kāi)啟慢查詢?nèi)罩荆绾斡?mysqldumpslow 分析慢查詢。

二、慢查詢?nèi)罩驹O(shè)置 1、臨時(shí)設(shè)置

臨時(shí)開(kāi)啟慢查詢?nèi)罩?重啟失效)

set global slow_query_log = on;

注:如果想關(guān)閉慢查詢?nèi)罩荆恍枰獔?zhí)行 set global slow_query_log = off; 即可。

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

set long_query_time = 1;

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

set global log_output = file;

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

2、查詢慢查詢?nèi)罩镜拈_(kāi)啟狀態(tài)和慢查詢?nèi)罩緝?chǔ)存的位置

show variables like  %quer%

參數(shù)說(shuō)明:

slow_query_log : 是否已經(jīng)開(kāi)啟慢查詢

slow_query_log_file : 慢查詢?nèi)罩疚募窂?/p>

long_query_time :   超過(guò)多少秒的查詢就寫入日志

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

3、查看存放日志的形式

show variables like  log_output

4、永久開(kāi)啟慢日志

修改 my.cnf

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

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

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

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

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

log_queries_not_using_indexes = 1,表明記錄沒(méi)有使用索引的 SQL 語(yǔ)句

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

三、慢查詢測(cè)試

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

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

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

打開(kāi)慢查詢?nèi)罩疚募?梢钥吹缴鲜雎樵兊?SQL 語(yǔ)句被記錄到日志中。

四、慢查詢分析工具

mysqldumpslow

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

常用參數(shù)如下:

-s:排序方式,值如下

c:查詢次數(shù)

t:查詢時(shí)間

l:鎖定時(shí)間

r:返回記錄

ac:平均查詢次數(shù)

al:平均鎖定時(shí)間

ar:平均返回記錄書(shū)

at:平均查詢時(shí)間

-t:topN 查詢

-g:正則表達(dá)式

獲取訪問(wèn)次數(shù)最多的 5 個(gè) SQL 語(yǔ)句:

按照時(shí)間排的 top 5 個(gè) SQL 語(yǔ)句

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

按照時(shí)間排序且含有 like 的 top 5 個(gè) SQL 語(yǔ)句

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;

關(guān)于“MySQL 慢查詢?nèi)罩驹趺丛O(shè)置”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“MySQL 慢查詢?nèi)罩驹趺丛O(shè)置”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-13發(fā)表,共計(jì)2054字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 忻州市| 东台市| 孝义市| 庐江县| 九江市| 上思县| 丰镇市| 微博| 潞西市| 招远市| 治多县| 盐津县| 罗田县| 苏尼特左旗| 荆门市| 门源| 交城县| 清远市| 哈巴河县| 义乌市| 巫山县| 贺兰县| 沙湾县| 洛川县| 承德县| 东光县| 阜新| 特克斯县| 边坝县| 甘肃省| 高州市| 崇阳县| 五台县| 筠连县| 蒲江县| 句容市| 和政县| 纳雍县| 万全县| 安龙县| 高尔夫|