MySQL InnoDB的事务
作者:互联网
InnoDB引擎与其他mysql引擎最大的区别是其引入了事务的概念,使用事务可以保证
事务的四大特性
原子性: 要么全部成功,要么全部失败。
**隔离性:**各个事务的执行不能被其他事务干扰。
持久性: 操作执行结果会被持久化到磁盘。
一致性: 事务执行结果必须从一个一致状态到另一个一致状态,中间不能有其他状态。
原子性,持久性,隔离性的目的也是为了保障数据的一致性!
InnoDB的四种隔离级别
**READ UNCOMMITTED 读未提交 (RU) **会产生脏读
READ COMMITTED 读已提交 (RC) 会产生不可重复读
REPEATABLE READ 可重复读 (RR) 会产生幻读
**SERIALIZABLE 串形化 ** 不会有读问题,但是性能较差
隔离级别产生的读问题
**脏读:**读到其他事务未提交的数据。
不可重复读: 读到其他事务已经提交的事务,导致一次事务中,两次查询同一条记录不一致。
幻读: 幻读,并不是说两次读取获取的结果集不同,幻读侧重的方面是某一次的 select 操作得到的结果所表征的数据状态无法支撑后续的业务操作。更为具体一些:select 某记录是否存在,不存在,准备插入此记录,但执行 insert 时发现此记录已存在,无法插入,此时就发生了幻读。
标签:事务,隔离,幻读,READ,InnoDB,提交,MySQL 来源: https://www.cnblogs.com/weichunjie/p/16289768.html