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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql分析日志_MYSQL 索引(三)--- SQL日志分析

發(fā)布時(shí)間:2023/12/4 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql分析日志_MYSQL 索引(三)--- SQL日志分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

Mysql 的慢查詢?nèi)罩臼?Myql 提供的一種日志記錄,用來記錄在 Myql 中響應(yīng)時(shí)間查過閾值的語句,具體指運(yùn)行時(shí)間超過 long_query_time 值的 SQL,則會(huì)被記錄在日志中。long_query_time 默認(rèn)為 10,單位為秒。

默認(rèn)情況下,Mysql 數(shù)據(jù)庫沒有開啟慢查詢?nèi)罩?#xff0c;需要我們手動(dòng)來設(shè)置這個(gè)參數(shù)。如果不是調(diào)優(yōu)需要,不建議開啟慢查詢?nèi)罩?#xff0c;多少會(huì)影響性能。Mysql 慢查詢?nèi)罩局С謱懭氲轿募?/p>

查看開啟慢查詢

SHOW VARIABLES LIKE '%slow_query_log%'; # 查看慢查詢狀態(tài)

默認(rèn)情況:

開啟

set global slow_query_log=1;

如果要永久生效,必須修改配置文件 my.cnf:

在 [mysqld] 下添加:

slow_query_log = 1

slow_query_log_file=/var/lib/mysql/localhost-slow.log

long_query_time = 3

log_output = FILE

mysql中 判斷大于long_query_time,而非大于等于

SHOW VARIABLES LIKE 'long_query_time%';

set global long_query_time=3; # 修改后需要重新打開會(huì)話或打開新會(huì)話才會(huì)生效

mysql日志分析工具

mysqldumpslow --help

參數(shù)

含義

s

按何種方式排序

c

訪問次數(shù)

l

鎖定時(shí)間

r

返回記錄

t

查詢時(shí)間

al

平均鎖定事件

ar

平均返回記錄時(shí)間

at

平均查詢時(shí)間

t

返回前面多少條的數(shù)據(jù)

g

后面搭配正則匹配模式,大小寫不敏感

# 得到返回記錄集最多的十個(gè) SQL,/var/lib/mysql/localhost-slow.log 是慢查詢?nèi)罩韭窂?/p>

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log

# 得到訪問次數(shù)最多的十個(gè) SQL

mysqldumpslow -s c -t 10 /var/lib/mysql/localhost-slow.log

# 得到按照時(shí)間排序的前十條里面包含左連接的查詢語句

mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/localhost-slow.log

# 建議在使用這些命令時(shí)結(jié)合 | 和 more 使用 ,否則有可能爆屏

mysqldumpslow -s r -t 10 "left join" /var/lib/mysql/localhost-slow.log | more

show profile

show profile 是 mysql 提供可以用來分析當(dāng)前會(huì)話中語句執(zhí)行的資源消耗情況,可以用于 SQL 的調(diào)優(yōu)測(cè)量。

默認(rèn)情況下,參數(shù)處于關(guān)閉狀態(tài),并保存最近 15 次的運(yùn)行結(jié)果。

分析步驟

是否支持

開啟功能,默認(rèn)關(guān)閉

show variables like 'profiling'; # 查看

set profiling=on; # 開啟

運(yùn)行 SQL

查看結(jié)果:

show profiles;

診斷 SQL

show profile cpu,block io for query 4;

| 參數(shù) | 含義 |

| - | - |

| ALL | 所有的開銷信息 |

| BLOCK IO | 塊 IO 相關(guān)開銷 |

| CONTEXT SWITCHES | 上下文切換相關(guān)開銷 |

| CPU | CPU相關(guān)開銷 |

| IPC | 發(fā)送和接收相關(guān)開銷 |

| MEMORY | 內(nèi)存相關(guān)開銷 |

| PAGE FAULTS | 頁面錯(cuò)誤相關(guān)開銷 |

| SOURCE | 顯示和Source_function, Source_file, Source_line 相關(guān)開銷 |

| SWAPS | 交換次數(shù)相關(guān)開銷 |

注意

converting HEAP to MyISAM 查詢結(jié)果太大,內(nèi)存不夠用,往磁盤上搬了

Creating tmp table 創(chuàng)建臨時(shí)表:拷貝數(shù)據(jù)到臨時(shí)表,用完再刪除

Copying to tmp on disk 把內(nèi)存中臨時(shí)表復(fù)制到磁盤,危險(xiǎn)!!!

locked

全局查詢?nèi)罩?/p>

永遠(yuǎn)不要在生產(chǎn)環(huán)境開啟此功能。

文件配置:

# 開啟

general_log =1 1

# 記錄日志文件路徑

general_log_file=/path/logfile

#輸出格式

log_output=FILE

參數(shù)配置(一次有效):

set global general_log = 1;

set global log_output='TABLE';

總結(jié)

以上是生活随笔為你收集整理的mysql分析日志_MYSQL 索引(三)--- SQL日志分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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