什么是事务?

一系列数据库操作组成的一个完整的、不可拆分的逻辑过程,该过程被称为一个事务,具有ACID特性

什么是ACID特性

Atomicity(原子性)

事务(transaction)中的所有操作,要么都完成,要么都不完成,不会结束于中间环节。若事务在执行过程中发生错误,则数据会被回滚(Rollback)至事务开始前的状态,就像事务从未执行过

Consistency(一致性)

事务开始之前与事务结束之后,数据库的完整性未被破坏,即写入的数据必须完全符合所有的预设规则

Isolation(隔离性)

数据库允许事务并发地对数据进行读取与修改,而隔离性可防止由事务并发执行带来的数据可见性问题。事务隔离分为不同级别:读取未提交(Read Uncommitted)、读取已提交(Read Committed)、可重复读(Repeatable Read)、串行化(Serializable)

Durability(持久性)

事务结束之后,对数据的修改是永久性的,即使系统故障也不会丢失

事务隔离级别

并发事务带来的问题:

  • 脏读(Dirty Mead): 事务A正在对数据进行修改,尚未修改完成时事务B对数据进行读取,则事务B读取到的是 "脏数据" ,称为脏读
  • 修改丢失(Lost To Modify): 事务A与事务B同时对一个数据进行修改,先完成的事务的修改会丢失。示例:data == 1,事务A执行data++,事务B执行data--,事务A先于事务B完成,此时事务A的修改会丢失,data == 0,称为修改丢失
  • 不可重复读(Unrepeatableread): 事务A多次读取同一数据,但在事务A尚未完成时,事务B对数据进行了修改,导致事务A重复读取的数据不一致,称为不可重复读
  • 幻读(Phantom Read): 事务A多次读取同一范围内的数据,但在事务A尚未完成时,事务B向该范围中添加了数据,导致事务A在后续读取中读取出先前不存在的数据,称为幻读

不可重复读与幻读相似,区别在于数据的值与数据的量

事务隔离级别(级别由低到高):

  • READ-UNCOMMITTED(读取未提交): 允许读取并发事务尚未提交修改的数据,可能会导致脏读、幻读与不可重复读
  • READ-COMMITTED(读取已提交): 允许读取并发事务已提交修改的数据,可阻止脏读,但不可重复读与幻读仍有可能发生
  • REPEATABLE-READ(可重复读): 对同一数据的重复读取结果一致,除非数据为事务本身所修改,可阻止脏读与不可重复读,但幻读仍有可能发生
  • SERIALIZABLE(可串行化): 完全遵守ACID的隔离级别,所有的事务依次提交,事务之间不可能产生干扰,该级别可防止脏读、不可重复读以及幻读

DataBase_事务的ACID属性相关推荐

  1. mysql事务的ACID属性:

    事务的ACID属性: 原子性 一致性 隔离性 持久性 atomicity consistency isolation durability 1:原子性(atomicity):"原子" ...

  2. Java事务的ACID属性和四种隔离级别和传播机制

    事务的ACID属性 数据库管理系统中事务(transaction)的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity).一致性(Consistency).隔离性(Isolation ...

  3. 事务的acid属性是指_Mysql事务的性质 为什么要用事务?

    在 MySQL 中只有使用了 Innodb 存储引擎的表才支持事务. 严格上来说,事务必须同时满足四个特性,即通常所说的ACID属性 Ø 原子性(atomicity):一个事务(transaction ...

  4. 事务的ACID 属性

    事务的四大属性ACID即事务的原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability.. 原子性(Atomicity) 原子性是指事 ...

  5. 事务的acid属性是指_什么是事务的acid性质

    匿名用户 1级 2017-05-03 回答 ACID,是指在数据库管理系统(DBMS)中事务所具有的四个特性:原子性(Atomicity).一致性(Consistency).隔离性(Isolation ...

  6. 事务的acid属性是指_事务的ACID特性

    事务的四个特性,简称为ACID,这是这四个特性的英文头个字母. 一:原子性(Atomic) 所谓原子性就是指的事务的不可分割性,原子是最小的单位,所以理解事务的原子性就是理解事务无法进行分割,事务里的 ...

  7. 事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。...

    事务的四大属性ACID即事务的原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability.. 原子性(Atomicity) 原子性是指事 ...

  8. 事务机制:Redis能实现ACID属性吗?

    ACID特性无需多言.我们知道关系数据库比如mysql可以实现事务的ACID特性,begin,commit,回滚实现. 那么redis可以实现ACID吗,结论是不能完全保证. 首先要知道redis通过 ...

  9. 事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。

    事务的四大属性ACID即事务的原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability.. 事务的四大属性ACID即事务的原子性(At ...

最新文章

  1. OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔总结
  2. 十行Python代码搞定图片中的物体检测
  3. 一个springboot能支持多少并发_吃透这篇,你也能搭建出一个高并发和高性能的系统...
  4. Selwyn College, Cambridge
  5. rxjs fromEvent的用法
  6. python json方法详解_python详解json模块
  7. VC++中的ADO宏
  8. 自己的父母,能把钱交给他们存吗?
  9. 不搞虚的!快速把你拉入Docker 的门里 | 原力计划
  10. jQuery页面滚动右侧浮动导航切换
  11. Q80:平坦着色(Flat Shading)和平滑着色(Smooth Shading)——“Q79:怎么用三角形网格(Triangle Mesh)细分曲面”(补充)
  12. MySQL 刷脏页问题
  13. 使用组策略统一修改客户端本地管理员密码
  14. 【音视频数据数据处理 6】【RGB篇】将RGB24图片转为YUV420格式图片
  15. 【应用】Android平台最佳健身
  16. COUNT统计未支付、待确认订单
  17. 稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB
  18. 为啥Java程序员工资高,却很多人想转行,这4点原很现实
  19. Flying Saucer一些问题
  20. html页面实现打印

热门文章

  1. ubuntu下启动vlc报错“VLC is not supposed to be run as root“
  2. vue prop传值类型检验
  3. 树莓派2b/3b配置WLAN网络
  4. C - AtoF: Convert string to its double-precision floating-point equivalent
  5. 《Python编程快速上手》---项目记录(第12章)
  6. 主动扬声器(有源音箱)和被动扬声器(无源音箱)哪个好 如何选择?有什么区别?
  7. Cliche remarks for opening a new blog | 开新博的一番陈词滥调
  8. PTA L1-028 判断素数 C语言版
  9. 关于A类地址,B类地址,C类地址的划分和详细理解
  10. Mybatis报错: Error querying database. Cause: java.lang.NumberFormatException: For input string: “A“