MySql事务实现原理--参考极客时间专栏《MySQL实战45讲》,博客
1.事务的基本要素(ACID)
原子性(Atomicity):事务内的操作要嘛全部完成,要嘛全部回滚。
一致性(Consistency):事务执行的前后都是合法的数据状态,不会违反任何的数据完整性。
隔离性(Isolation):主要是事务之间的相互的影响,根据隔离有不同的影响效果。
持久性(Durability):事务一旦提交,就会体现在数据库上,不能回滚。
2.事务并发的问题
脏读:比如事务A执行的过程中,读到了事务B未提交的内容。
不可重复度:指一个事务在前后两次查询的结果不一致。
幻读:幻读是指前后两次相同条件下的查询,后一次查询读到了前一次查询没有的行数据。
特别注意的是:在不可重复读的隔离级别下,普通查询是不会出现幻读的,因为都是快照读,只有在当前读,也就是select语句后面加for update查询的时候出现,幻读的解决办法,后面会有。
3.事务的隔离级别
(1)读未提交
存在问题:脏读,不可重复读,幻读。
(2ÿ