最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL慢查詢問題排查方式

 更新時間:2025年02月28日 09:02:28   作者:山林竹筍  
文章介紹了MySQL慢查詢排查的步驟,包括查看當(dāng)前正在運(yùn)行的事務(wù)狀態(tài)、查看線程狀態(tài)、殺死線程、輔助判斷命令、開啟慢查詢?nèi)罩竞烷_啟通用查詢?nèi)罩?/div>

MySQL慢查詢排查

第一步:查看當(dāng)前正在運(yùn)行的事務(wù)狀態(tài)

select trx_state,trx_started,trx_mysql_thread_id,trx_query from information_schema.innodb_trx;

其中:

  • Trx_state:事務(wù)狀態(tài)
  • Trx_started:事務(wù)啟動時間
  • Trx_mysql_thread_id:事務(wù)的線程id
  • Trx_query:事務(wù)當(dāng)前執(zhí)行的查詢sql

當(dāng)Trx_state的值為:“LOCK_WAIT”時,說明發(fā)生了鎖等待。等待時間過長可能導(dǎo)致程序返回失敗。

示例:

第二步:查看線程狀態(tài)

show processlist;
  • 返回結(jié)果包括:id,host,db,Command,Time,State等。
  • 找到id等于第一步中的trx_mysql_thread_id對應(yīng)的記錄,如果Command是“Sleep”。
  • 說明這個線程的事務(wù)一直沒有提交或者卡住了。我們需要手動kill掉。

第三步:殺死線程

Kill id
  • 在mysql客戶端執(zhí)行上面的命令殺死線程。
  • 一般使用以上的命令足以判斷是否是因?yàn)槭聞?wù)等待問題發(fā)生錯誤。

第四步:輔助判斷命令

此外,以下命令也可以輔助判斷:

1. 查詢行鎖狀態(tài):

show status like 'InnoDB_row_lock%';

返回中,Innodb_row_lock_current_waits顯示正在等待行鎖的數(shù)量。

2. 查詢當(dāng)前使用的鎖

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

Mysql8中對應(yīng)為:

select * from performance_schema.data_locks;

3. 查詢鎖等待的事務(wù)

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

Mysql8中對應(yīng)為:

select * from performance_schema.data_lock_waits;

4. 查詢當(dāng)前被鎖的表

show OPEN TABLES where In_use > 0;

5. 查詢最近一次的死鎖記錄日志

show engine innodb status

可以導(dǎo)出到本地查看:

mysql -u root -p --execute="show engine innodb status \G" > /root/test.log

根據(jù)以上命令,找到結(jié)果中存在等待異常的trx_id即事務(wù)id,再回到第一步,從當(dāng)前事務(wù)列表中找到對應(yīng)事務(wù),然后殺死對應(yīng)線程。

第五步:開啟慢查詢?nèi)罩?/h3>

通過慢查詢?nèi)罩?,記錄?zhí)行時間超時的sql語句。超時默認(rèn)是10秒。

1. 查看慢查詢?nèi)罩臼欠耖_啟,并開啟日志

show variables like '%query%';

返回中,slow_query_log為“OFF”,表示關(guān)閉。開啟日志:

set global slow_query_log='ON';

第六步:開啟通用查詢?nèi)罩?/h3>

1. 查看通用查詢?nèi)罩臼欠耖_啟

show variables like '%general%';

返回中,general_log為“OFF”,表示關(guān)閉。開啟日志:

set global general_log='ON'

注意:

通用日志會記錄所有的sql執(zhí)行語句,會導(dǎo)致日志文件過大,以及執(zhí)行速度變慢,應(yīng)在查詢后及時關(guān)閉。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL8.0升級的踩坑歷險記

    MySQL8.0升級的踩坑歷險記

    聽說mysql8的性能提升了很多,對于我這種喜歡把所有軟件升級到最新版的人來說,二話不說直接升級,這篇文章主要給大家介紹了關(guān)于MySQL8.0升級踩坑的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • MySQL?datetime類型與時間、日期格式字符串大小比較的方法

    MySQL?datetime類型與時間、日期格式字符串大小比較的方法

    這篇文章主要介紹了MySQL?datetime類型與時間、日期格式字符串大小比較,本文使用的是mysql8.0.27版本,其他版本自測一下,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • MySQL Json類型字段IN查詢分組優(yōu)化

    MySQL Json類型字段IN查詢分組優(yōu)化

    這篇文章主要為大家介紹了MySQL Json類型字段IN查詢分組優(yōu)化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • MYSQL數(shù)據(jù)庫GTID實(shí)現(xiàn)主從復(fù)制實(shí)現(xiàn)(超級方便)

    MYSQL數(shù)據(jù)庫GTID實(shí)現(xiàn)主從復(fù)制實(shí)現(xiàn)(超級方便)

    這篇文章主要介紹了MYSQL數(shù)據(jù)庫GTID實(shí)現(xiàn)主從復(fù)制實(shí)現(xiàn)(超級方便),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 麒麟系統(tǒng)上安裝?MySQL?8.0.24的詳細(xì)步驟(避坑指南)

    麒麟系統(tǒng)上安裝?MySQL?8.0.24的詳細(xì)步驟(避坑指南)

    這篇文章主要介紹了麒麟系統(tǒng)上安裝MySQL8.0.24的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Mysql數(shù)據(jù)庫聚簇索引與非聚簇索引舉例詳解

    Mysql數(shù)據(jù)庫聚簇索引與非聚簇索引舉例詳解

    在MySQL中聚簇索引和非聚簇索引是兩種常見的索引結(jié)構(gòu),它們的主要區(qū)別在于數(shù)據(jù)的存儲方式和索引的組織方式,這篇文章主要介紹了Mysql數(shù)據(jù)庫聚簇索引與非聚簇索引的相關(guān)資料,需要的朋友可以參考下
    2025-11-11
  • MySQL?8.0.35數(shù)據(jù)庫下載安裝以及環(huán)境變量的配置方法

    MySQL?8.0.35數(shù)據(jù)庫下載安裝以及環(huán)境變量的配置方法

    很多朋友剛開始接觸mysql數(shù)據(jù)庫服務(wù)器,這篇文章主要給大家介紹了關(guān)于MySQL?8.0.35數(shù)據(jù)庫下載安裝以及環(huán)境變量的配置方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 淺談MySql 視圖、觸發(fā)器以及存儲過程

    淺談MySql 視圖、觸發(fā)器以及存儲過程

    這篇文章主要介紹了MySql 視圖、觸發(fā)器以及存儲過程的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • MySQL中的交叉連接、自然連接和內(nèi)連接查詢詳解

    MySQL中的交叉連接、自然連接和內(nèi)連接查詢詳解

    這篇文章主要介紹了MySQL中的交叉連接、自然連接和內(nèi)連接查詢,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 關(guān)于MySQL中explain工具的使用

    關(guān)于MySQL中explain工具的使用

    這篇文章主要介紹了關(guān)于MySQL中explain工具的使用,在select語句之前增加explain關(guān)鍵字,MySQL會在查詢上設(shè)置一個標(biāo)記,執(zhí)行查詢會返回執(zhí)行計劃的信息,而不是執(zhí)行這條SQL,需要的朋友可以參考下
    2023-05-05

最新評論

遂昌县| 阳曲县| 佳木斯市| 邵阳县| 永泰县| 永善县| 石景山区| 静宁县| 德阳市| 宣威市| 邹城市| 峨眉山市| 扶沟县| 凉城县| 城固县| 松滋市| 鄂托克旗| 同心县| 林芝县| 资源县| 乌兰浩特市| 防城港市| 孟州市| 元朗区| 江永县| 太保市| 马山县| 彰化市| 孟州市| 四川省| 青河县| 静安区| 衡阳县| 日喀则市| 淳安县| 比如县| 斗六市| 定襄县| 诸暨市| 武陟县| 荆州市|