zoukankan      html  css  js  c++  java
  • 数据库事务的隔离级别简单总结

    数据库中事务的隔离级别有四种。级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别能够逐个解决脏读、不可反复读、幻读这几个问题。

    假设当前隔离级别为Read uncommitted时。可能出现脏读,就可以能读到还未提交的暂时写数据。

    假设当前隔离级别为Read committed时。可以避免脏读。但可能造成不可反复读,即两个事务同一时候对同一个数据进行改动时,发生的数据一致性和完整性的破坏。大部分的数据库的默认级别都是Read committed,如SQL Server和Oracle。

    假设当前隔离级别为Repeatable read时,能够避免不可反复读,即当前有两个及以上数量的事务读取同一数据时,数据库选择对第一个訪问该数据的事务可读可写,对第二条及其后的事务为仅仅读。虽然这样能够避免不可反复读,可是当事务A两次读取同一个数据时,假设期间有其它对数据库可读可写的事务对数据进行改动时,那么事务A两次读取数据得到的结果极有可能是不一致的,即造成了幻读。

    Serializable序列化时数据库中最高级别的事务隔离级别,在该级别下,事务依照顺序运行,这样可以避免脏读、不可反复读和幻读,但所造成的花销大、性能低下。

  • 相关阅读:
    代码点与代码单元
    IIS最大并发连接数
    PhoneGap:JS跨域请求
    字符串长度
    android学习笔记:adb更换端口后成功启动
    java学习笔记:eclipse的workspace和working set
    java学习笔记:Eclipse打开现有项目
    java学习笔记:文件名区分大小写
    mysql学习笔记:存储过程
    mySql学习笔记:比sql server书写要简单
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7206216.html
Copyright © 2011-2022 走看看