mysql 查看死锁

mysql 查看死锁,第1张

第一步,查出已锁的进程

查看正在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS

``

查看等待锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS

``

INNODB_TRX表主要是包含了正在InnoDB引擎中执行的所有事务的信息,包括waiting for a lock和running的事务

select * from information_schema.innodb_trx

``

第二步,kill进程

show engin innodb status //最后一次死锁信息及sql

show open tables where in_use >0 //查看锁表

一、show ENGINE INNODB status

查看死锁位置,分析。

二、

首先解决死锁可以从死锁发生的条件入手,最容易解决的就是更改获取资源的顺序;

其次是避免长事务,让事务执行的时间尽可能少,让事务的覆盖范围尽可能小,长事务会导致并发度降低,且会有更多的SQL查 询延迟;

给整个方法加事务是否是必须的?可以不加事务的尽量不加。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6136228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存