问题:
事务1:upate A set a = 2 where a = 1
事务2:update A set a = 3 where a=1
事务1提交了事务2能执行吗?
分类讨论:
1)a不是索引字段
不能
2)a是唯一索引或者主键索引
不能
3)a是普通索引
不能
结论:
事务因为表锁或者行锁阻塞了,唤醒后会重新检查SQL获取锁
问题:
事务1:upate A set a = 2 where a = 1
事务2:update A set a = 3 where a=1
事务1提交了事务2能执行吗?
分类讨论:
1)a不是索引字段
不能
2)a是唯一索引或者主键索引
不能
3)a是普通索引
不能
结论:
事务因为表锁或者行锁阻塞了,唤醒后会重新检查SQL获取锁