打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Mysql事务四个特征(ACID)
原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability),这些特性通常简称为ACID。
原子性:事务是一个完整的操作,事务的各步操作(各元素)是不可分的最小操作单位,要么都执行,要么都不执行要么全部完成,要么全部不完成
一致性当事务完成时,数据必须处于一致状态。
隔离性对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,他不应以任何方式依赖于或影响其他事务。,可设置隔离级别
持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的
事务四特性简述
原子性
是不可分割的最小操作单位,要么同时成功,要么同时失败。
持久性
当事务提交或回滚后,数据库会持久化的保存数据。
隔离性
多个事务之间。相互独立。
一致性
事务操作前后,数据总量不变
隔离级别
事务隔离级别
会出现问题
读未提交(Read Uncommitted
脏读、幻读、不可重复读
读已提交(Read Committed
幻读、不可重复读
可重复读(Repeatable Read
不可重复读
串行化(Serializable
不会产生任何问题、但是效率极低,会锁表
并发情况下事务引发的问题
—般情况下,多个单元操作并发执行,会出现这么几个问题
  • 不可重复读的重点是修改: 同样的条件, 你读取过的数据, 再次读取出来发现值不一样了
  • 幻读的重点在于新增或者删除 (数据条数变化)。同样的条件, 第1次和第2次读出来的记录数不一样
  • 脏读发生在一个事务A读取了被另一个事务B修改,但是还未提交的数据。假如B回退,则事务A读取的是无效的数据。这跟不可重复读类似,但是第二个事务不需要执行提交。 
简述:
  • 脏读︰A事务还未提交,B事务就读到了A事务的结果。(破坏了隔离性〕
  • 不可重复读∶A事务在本次事务中,对自己未操作过的数据,进行了多次读取,结果出现了不一致或记录不存在的情况。(破坏了一致性,update和delete )
  • 幻读:A事务在本次事务中,对自己未操作过的数据,进行了多次读取,第一次遗取时,记录不存在,第二次读取时,记录出现了。〔破坏了一致性,insert )
 
事务本身其实并不包含这四个特性,我们需要通过某些手段,尽可能的让这个执行单元满足这四个特性。那么我们就可以称他为事务

* 注意:隔离级别从小到大安全性越来越高,但是效率越来越低

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数据库事务的属性-ACID
JAVA事务的概念
mysql中的事务
还原面试现场-ACID与隔离级别
数据库并发访问、事务与锁的关系
三大关系型数据库事务详解之一:基本概念
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服