1、每条记录在更新的时候都会同时记录一条回滚操作。
2、同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)。
3、在读已提交的级别下,都会通过MVCC获取当前数据的最新快照。
实例
1. select count(1) from user where age=20; -- return 0: 当前没有age=20的 2. update user set name=test where age=20; -- Affects 10 rows: 因为事务B刚写入10条age=20的记录,而写操作是不受MVCC影响,能看到最新数据的,所以更新成功,而一旦操作成功,这些被操作的数据就会对当前事务可见 3. select count(1) from user where age=20; -- return 10: 出现幻读
以上就是Mysql实现事务隔离的方法,希望对大家有所帮助。 更多mysql学习指路: MySQL
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did221404