查看表是否被鎖:
直接在mysql命令行執(zhí)行:show engine innodb statusG。
查看造成死鎖的sql語句,分析索引情況,然后優(yōu)化sql.
然后show processlist,查看造成死鎖占用時(shí)間長的sql語句。
show status like ‘%lock%。
查看表被鎖狀態(tài)和結(jié)束死鎖步驟:
1.查看表被鎖狀態(tài)
show OPEN TABLES where In_use > 0; 這個(gè)語句記錄當(dāng)前鎖表狀態(tài)?
2.查詢進(jìn)程
show processlist 查詢表被鎖進(jìn)程
查詢到相應(yīng)進(jìn)程kill id
3.分析鎖表的SQL
分析相應(yīng)SQL,給表加索引,常用字段加索引,表關(guān)聯(lián)字段加索引
查看正在鎖的事物:
select * FROM INFORMATION_SCHEMA.INNODB_LOCKS.
查看等待鎖的事物:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS.
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END