zoukankan      html  css  js  c++  java
  • mysql事务

    1. 事务并不专属于mysql

    2. 事务的ACID特性

      1)原子性(atomicity)  

      一个事务必须被视为一个不可分割的最小工作单元,整个事务中得所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来讲,不可能只执行其中的一部分

          操作,这就是事务的原子性。

      2)一致性(consistency)

      数据库的总是从一个一致性的状态转换到另一个一致性的状态。

      3)隔离性(isolation)

      通常来说,一个事务所做的修改在最终提交之前,对其他事务是不可见的。

      4)持久性(durability)

      一旦事务提交,则其所做的修改就会永久保存到数据库中。

    3. 隔离级别

      1)READ UNCOMMITTED(未提交读)

        在该级别,事务中得修改,即使没提交,对其他事务也是可见的。

      2)READ COMMITTED(提交读)

        在提交之前对其他事务都是不可见的

      3)REPEATABLE READ(可重复读)[mysql默认的事务隔离级别]

        该级别保证了在同一个事务中多次读取同样的记录的结果是一致的。

        但是会产生幻读得问题

      4)SERIALIZABLE(可串行化)

        该级别会在读取的每一行数据上都加锁

    隔离级别 脏读可能性 不可重复读可能性 幻读可能性 加锁读
    READ UNCOMMITED Yes Yes Yes No
    READ COMMITTED No Yes Yes No
    REPEATABLE READ No No Yes No
    SERIALIZABLE No No No Yes

    4.死锁产生的原因

      1)因为真正的数据冲突

      2)存储引擎的实现方式

    5.mysql 提供了两种事物型的引擎:Innodb 、NDB Cluster

    6.多版本并发控制(MVCC)

  • 相关阅读:
    2040 打开所有的灯
    1323 删数问题(加强版)
    1087 FBI树
    1030 求先序排列
    1743 矩阵Ⅲ
    svn更新时,出现不知道这样的主机的解决方案
    用jquery或js获取select标签中选中的option值及文本
    html页面中的button按钮会自动提交form表单的问题以及解决方案
    localStorage与sessionStorage的使用和区别
    命令行mvn打包
  • 原文地址:https://www.cnblogs.com/kravis/p/5031377.html
Copyright © 2011-2022 走看看