为什么mysql默认情况下很难出现死锁?

2021/5/17 2:55:28

本文主要是介绍为什么mysql默认情况下很难出现死锁?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

因为mysql的死锁检查机制innodb_deadlock_detect,默认是打开的

 

CREATE TABLE `exception` (
  `id` int(11) NOT NULL,
  `c` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;
insert into exception(id, c) values(1,1),(2,2),(3,3),(4,4);

 

在第一个客户端执行如下sql

 

客户端1 客户端2
begin; begin;
update exception set c=100 where id=1;  
  update exception set c=300 where id=2;
update exception set c=200 where id=2;  
  update exception set c=400 where id=1;
   
   

 

mysql死锁检查机制,会让死锁根本无法发生:

 

 



这篇关于为什么mysql默认情况下很难出现死锁?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程