7. 事务

作者: lsh的学习笔记 | 来源:发表于2020-05-09 15:59 被阅读0次

主要目的

事务会把数据库从一种一致状态转换为另一种一致状态。

在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。

InnoDB存储引擎中的事务完全符合ACID的特性。ACID是以下4个词的缩写:

  1. 原子性(atomicity)
  2. 一致性(consistency)
  3. 隔离性(isolation)
  4. 持久性(durability)

注意

虽然理论上定义了严格的事务要求,但是数据库厂商出于各种目的,并没有严格去满足事务的ACID标准。

例如:

  1. 对于MySQL的NDB Cluster引擎来说,虽然其支持事务,但是不满足D的要求,即持久性的要求。
  2. 对于Oracle数据库来说,其默认的事务隔离级别为READ COMMITTED,不满足I的要求,即隔离性的要求。虽然在大多数的情况下,这并不会导致严重的结果,甚至可能还会带来性能的提升,但是用户首先需要知道严谨的事务标准,并在实际的生产应用中避免可能存在的潜在问题。
  3. 对于InnoDB存储引擎而言,其默认的事务隔离级别为READREPEATABLE,完全遵循和满足事务的ACID特性

相关文章

  • 7. 事务

    摘自网上文章 特性: 一般来说,事务是必须满足4个条件(ACID): 原子性(Atomicity,或称不可分割性)...

  • 7. 事务

    主要目的 事务会把数据库从一种一致状态转换为另一种一致状态。 在数据库提交工作时,可以确保要么所有修改都已经保存了...

  • Redis学习笔记系列(九)——Redis事务

    7. Redis事务 7.1 事务定义 Redis 通过MULTI、 DISCARD、EXEC和 WATCH四个命...

  • 7. Spring的事务控制

    1、基于XML的声明式事务控制 1)准备 pom.xml bean.xml 实体类Account 持久层实现类Ac...

  • 7.重新认识事务

    事务不是凭空产生的,是通过技术手段实现的,目的是为了简化应用层编程模型,屏蔽内部潜在的错误和复杂的并发问题,由数据...

  • 高级应用--JDBC(二)

    封装JDBC抽取DBUtils JDBC事务 数据库连接池讲解 7.封装JDBC抽取DBUtils 为了使得编辑参...

  • Hibernate学习笔记(三) 一些概念

    目录 1.对象状态2.Hibernate的事务3.延迟加载(lazyload)4.级联5.缓存6.分页7.两种获取...

  • 一诺和阿森7

    7.你能听得到吗 阿森又恢复正常的忙碌状态,事务所的事情也越来越多。 佳楠理所当然的辞掉了爱丽丝琴行的工作,来到了...

  • mysql (优化、隔离级别、锁 ) 详解

    1.适合的字段数据类型2.join代替子查询3.union代替临时表4.事务5.锁6.外键7.索引8.优化查询 1...

  • 2019-09-28

    7.

网友评论

      本文标题:7. 事务

      本文链接:https://www.haomeiwen.com/subject/rmbknhtx.html