zoukankan      html  css  js  c++  java
  • MySql InnoDB 的事务隔离级别

    MySql InnoDB 的事务隔离级别


        未提交读(Read uncommitted)A事务修改了数据,但尚未提交,B事务中的select会读到这些未被提交的数据(脏读)。幻读,不可重复读和脏读均允许。
        已提交读(Read committed) 本事务读取到的是其他事务提交后的的数据。允许幻读和不可重复读,但不允许脏读。
        可重复读(Repeatable read) 可重复读在同一事务中,多次读取同一数据返回的结果相同。即事务A在读到一条数据之后,此时事务B对该数据进行了修改并提交,那么事务A再读该数据,读到的还是原来的内容。允许幻读,但不允许不可重复读和脏读。
        可串行化(Serializable) 以共享锁形式,可以保证不同事务间的互斥。

    脏读: A事务未提交数据,B事务中的select会读到这些未被提交的数据。
    不重复读: 在同一事务中,多次读取同一数据返回的结果不同。不重复读在可重复读的基础上读到的是新的内容。
    幻读: A事务读到B事务已提交的insert数据。幻读是插入和删除,重复读是修改数据。Serializable可以解决幻读(不推荐),或者加临键锁。


  • 相关阅读:
    HDOJ 1556 线段树
    POJ 3977 折半枚举
    2017ACM省赛选拔赛题解
    关于四舍五入和截断
    POJ 3422 最小费用最大流
    Codeforces Round #407 (Div. 2) D. Weird journey 思维+欧拉
    POJ 3155 最大密度子图
    无向图最小割 stoer_wagner算法
    最大权闭合子图
    L2-001. 紧急救援 Dijkstra
  • 原文地址:https://www.cnblogs.com/zyh-s/p/13253640.html
Copyright © 2011-2022 走看看