ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL InnoDB的事务

2022-05-19 19:35:44  阅读:146  来源: 互联网

标签:事务 隔离 幻读 READ InnoDB 提交 MySQL


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有