事务隔离级别

9.7、事务隔离性

    A教室和B教室中间有一道墙,这道墙可以很厚,也可以很薄,事务的隔离级别

  墙越厚,隔离级别越高

  事务和事务之间的隔离级别有哪些?4个级别
    1)读未提交:read uncommitted (最低的隔离级别)

        事务A可以读取到事务B未提交的数据。

        这种隔离级别存在问题:就是脏读现象(Dirty Read),称为读到了脏数据。

        这种隔离级别一般都是理论上的,大多数的数据库隔离级别都是2档起步

    2)读已提交:read committed

        事务A只能读取到事务B提交之后的数据。

        这种隔离级别解决了脏读现象。

        不可重复读取数据:在事务开启之后,第一次读到的数据是3条,当前事务还没有结束,可能第二次再读取的时候,读到的数据是4条,3不等于4。

        这种隔离级别是比较真实的数据,每一次读到的数据是绝对真实

        oralce数据库默认的隔离级别是:read committed

        

    3)可重复读:repeatable read(提交之后也读不到,永远读取的是刚开启事务时的数据)

        可重复读取:事务A开启后,不管是多久,每一次在事务A中读取到的数据都是一致的。即使事务B将数据已经修改

    并且提交了,事务A读取到的数据还是没有发生改变,这就是可重复读

      可重复读取解决了不可重复读取数据

      存在问题:每一次读取到的数据都是幻象,不够真实。

      mysql中默认的事务隔离级别是可重复读  repeatable read

    4)序列化/串行化:serializable (最高的隔离级别),效率最低,解决了所有问题

        这种隔离级别表示事务排队,不能并发

    

posted @ 2022-01-23 17:45  doremi429  阅读(51)  评论(0编辑  收藏  举报