mysql-事务

事务特性

原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性
*原子性
一个事务必须被视为一个不可分割的最小单元,整个事务中的所有操作要么全部提交成功,要么全部失败,对于一个事务来说,不能只执行其中的一部分操作
*一致性
事务将数据库从一种一致性转换到另外一种一致性状态,在事务开始之前和事务结束之后数据库中数据的完整性没有被破坏
*隔离性
一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰
*持久性
一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,已经提交的修改数据也不会丢失

事务并发引发的问题

*脏读
当一个事务读取到了另外一个事务修改但未提交的数据,被称为脏读。
*不可重复读
当事务内相同的记录被检索两次,且两次得到的结果不同时,此现象称为不可重复读。
*幻读
在事务执行过程中,另一个事务将新记录添加到正在读取的事务中时,会发生幻读。

四种隔离级别

*READ UNCOMMITTED:未提交读
*READ COMMITTED:已提交读
*REPEATABLE READ:可重复读
*SERIALIZABLE:可串行化

MySQL中的隔离级别

*MySQL的默认隔离级别为REPEATABLE READ,可以手动修改事务的隔离级别。

MVCC

全称Multi-Version Concurrency Control,即多版本并发控制,解决读-写冲突的问题,主要是为了提高数据库的并发性能。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的。MySQL是一...
    花神子阅读 2,890评论 0 2
  • http://baijiahao.baidu.com/s?id=1581064626251873652&wfr=s...
    hekang01阅读 4,075评论 0 0
  • 事务就是要保证一组数据库操作,要么全部成功,要么全部失败。 在 MySQL 中,事务支持是在引擎层实现的。你现在知...
    你的眼里躺着海阅读 1,522评论 0 1
  • --- [TOC] --- # MySQL事务 ## ACID 1.**原子性(Atomcity)** 一个事务的...
    翰林小院阅读 2,622评论 0 0
  • 事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么...
    gnk20134阅读 1,499评论 0 0

友情链接更多精彩内容