zoukankan      html  css  js  c++  java
  • 数据库隔离级别

    数据库具有不同的隔离级别,不同的隔离级别有不同特性,在使用的时候要小心,特别是在Race Condition的情况下。

    • 读未提交read uncommited。

    可以读取到尚未提交的内容,级别最低,会出现脏读。

    • 读已提交read commited

    只有已提交的内容会被读取到,会出现幻读,在同一个事务中,开始读取到的数据,和后面相同条件读取到的数据,可能不一样。

    • 可重复读read repeatable

    在同一个事务中间,同一个条件读取到的数据,永远是一样的。一般采用快照的办法来实现,在读的事务过程中,其他事务允许继续写,但写入的不影响读取。

    • 序列化读serialable read

    看起来事务是序列化的(看起来如此,实际上不一定),就是事务在Race Condition下看起来是串行执行的。

    悲观锁

    在操作数据的时候先锁定,在竞争比较密集的情况下用。

    乐观锁

    在操作数据的时候不锁定,采用版本比较等CAS方法写入,写入失败再尝试锁定。

  • 相关阅读:
    shell 脚本编程学习
    LMH6505 vs AD8336
    ubuntu 8.04 NFS服务的配置(转)
    新博客开张了!
    基于ARMlinux环境下的音频系统开发
    可恶的英语考试
    转HashTable(C#)
    我的手机3300
    高效注册DLL控件 让你的IE浏览器复活
    学习.NET2.0随笔
  • 原文地址:https://www.cnblogs.com/bobdeng/p/8989618.html
Copyright © 2011-2022 走看看