MySQL 慢查詢?nèi)罩?、日志分析工具mysqldumpslow示例詳解
mysqldumpslow 常用參數(shù):
-s,是order的順序 ----- al 平均鎖定時(shí)間 -----ar 平均返回記錄時(shí)間 -----at 平均查詢時(shí)間(默認(rèn)) -----c 計(jì)數(shù) -----l 鎖定時(shí)間 -----r 返回記錄 -----t 查詢時(shí)間 -t,是top n的意思,即為返回前面多少條的數(shù)據(jù) -g,后邊可以寫(xiě)一個(gè)正則匹配模式,大小寫(xiě)不敏感的
# 取出使用最多的10條慢查詢 mysqldumpslow -s c -t 10 /data/mysql/bogon-slow.log # 取出查詢時(shí)間最慢的3條慢查詢 mysqldumpslow -s t -t 3 /data/mysql/bogon-slow.log # 得到按照時(shí)間排序的前10條里面含有左連接的查詢語(yǔ)句 mysqldumpslow -s t -t 10 -g “l(fā)eft join” /data/mysql/bogon-slow.log # 按照掃描行數(shù)最多的 mysqldumpslow -s r -t 10 -g 'left join' /data/mysql/bogon-slow.log # 篩選出insert語(yǔ)句 mysqldumpslow -s r -t 10 -g 'insert' /data/mysql/bogon-slow.log
排查數(shù)據(jù)庫(kù)插入操作
重點(diǎn)排查插入操作的激增原因,可以從以下幾個(gè)方面著手:
a. 查看插入語(yǔ)句的執(zhí)行日志
- 檢查 MySQL 的 查詢?nèi)罩?/strong>(如果開(kāi)啟了),尤其是
INSERT
語(yǔ)句的執(zhí)行情況。 - 通過(guò)分析哪些表或哪些業(yè)務(wù)操作頻繁執(zhí)行插入操作,可以幫助定位問(wèn)題的根源。
如果沒(méi)有開(kāi)啟查詢?nèi)罩?,可以臨時(shí)啟用:
SET global general_log = 1; SET global log_output = 'TABLE'; -- 或者 'FILE'
然后查詢執(zhí)行日志:
#沒(méi)加時(shí)間段過(guò)濾 SELECT * FROM mysql.general_log WHERE command_type='Query' AND argument LIKE 'INSERT%'; #加具體時(shí)間段過(guò)濾 SELECT * FROM mysql.general_log WHERE (command_type = 'Query' AND argument LIKE 'INSERT%' AND event_time BETWEEN '2025-06-09 14:12:00' AND '2025-06-09 14:14:00');
general_log具體包含哪些字段:
DESCRIBE mysql.general_log;
這將顯示 mysql.general_log
表的所有列及其數(shù)據(jù)類型,幫助你了解每個(gè)字段的含義。通常,general_log
表包括以下一些常見(jiàn)字段:
event_time
:記錄查詢的時(shí)間。user_host
:執(zhí)行查詢的用戶和主機(jī)。thread_id
:執(zhí)行查詢的線程 ID。server_id
:服務(wù)器 ID。command_type
:執(zhí)行的命令類型(如Query
、Connect
、Quit
等)。argument
:執(zhí)行的 SQL 查詢或命令的內(nèi)容。
到此這篇關(guān)于MySQL 慢查詢?nèi)罩?、日志分析工具mysqldumpslow的文章就介紹到這了,更多相關(guān)mysql慢查詢?nèi)罩緈ysqldumpslow內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL數(shù)據(jù)表?yè)p壞的原因分析和修復(fù)方法小結(jié)(推薦)
MYSQL數(shù)據(jù)表?yè)p壞的原因分析和修復(fù)方法小結(jié),碰到的朋友可以參考,下面整理一些比較全,希望對(duì)大家有所幫助。2011-01-01MySql?InnoDB存儲(chǔ)引擎之Buffer?Pool運(yùn)行原理講解
緩沖池是用于存儲(chǔ)InnoDB表,索引和其他輔助緩沖區(qū)的緩存數(shù)據(jù)的內(nèi)存區(qū)域。緩沖池的大小對(duì)于系統(tǒng)性能很重要。更大的緩沖池可以減少磁盤(pán)I/O來(lái)多次訪問(wèn)同一表數(shù)據(jù)。在專用數(shù)據(jù)庫(kù)服務(wù)器上,可以將緩沖池大小設(shè)置為計(jì)算機(jī)物理內(nèi)存大小的百分之802023-01-01在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲(chǔ)過(guò)程的方法
這篇文章主要介紹了在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲(chǔ)過(guò)程的方法,在一定程度上簡(jiǎn)化了操作,需要的朋友可以參考下2015-06-06詳解DBeaver連接MySQL8以上版本以及解決可能遇到的問(wèn)題
這篇文章主要介紹了DBeaver連接MySQL8以上版本以及解決可能遇到的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11MySQL查詢表中某列字段相同的重復(fù)數(shù)據(jù)的方法
在數(shù)據(jù)庫(kù)查詢中,我們經(jīng)常需要查找表中某列中重復(fù)的數(shù)據(jù),本文將介紹如何使用 SQL 查詢語(yǔ)句來(lái)查找表中某列字段相同的重復(fù)數(shù)據(jù),幫助你快速定位重復(fù)數(shù)據(jù)問(wèn)題并進(jìn)行處理2023-08-08mySQL count多個(gè)表的數(shù)據(jù)實(shí)例詳解
這篇文章通過(guò)實(shí)例給大家介紹了mySQL中count多個(gè)表的數(shù)據(jù),也就是多個(gè)表如何聯(lián)合查詢,文中通過(guò)項(xiàng)目中遇到的一個(gè)問(wèn)題進(jìn)行分析和實(shí)現(xiàn),給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起看看吧。2016-11-11