站点图标 度崩网-几度崩溃

举例说明数据库死锁

加锁顺序不一致可能会导致死锁:

1、事务 1 持有 id = 1 的行锁,更新 id = 2 的行数据;事务 2 持有 id = 2 的行锁,更新 id = 1的行数据

2、在范围查询更新时,加锁是一条记录一条记录挨个加锁的,数据行被加锁顺序不一样也会导致死锁

事务1update table set name = 'A' where id <100;事务2update table set name = 'B' where age > 25;