• 并发处理和隔离级别


    -- 并发产生的影响
    /**
    丢失更新
    未提交的依赖关系(脏读)
    不一致的分析(不可重复读)
    幻读
    **/

    -- 丢失更新
    /**
    最后的更新将覆盖其他事务所做的更新
    **/

    -- 未提交的依赖关系(脏读) --隔离级别:读未提交(Read Uncommitted)
    /**
    事务读取到非最终结果的错误记录集.
    事务进行时没有对事务正在读取的记录集加"不可更新(对于其他事务)锁",
    其他事务可在当前事务读取中对当前事务正在读取的记录集进行修改
    **/

    -- 不一致的分析(不可重复读) --隔离级别:读提交(Read Committed)
    /**
    事务进行中在事务内部多次读取的同一记录集不一样.
    事务进行时有对事务正在读取的记录集加"不可更新(对于其他事务)锁",
    但在当前事务完成一次记录集读取后,其他事务可在当前事务进行时对当前事务会读取的记录集进行修改
    **/

    -- 幻读(可重复读) --隔离级别:可重复读(Repeatable Reads)
    /**
    事务进行时有对事务正在读取的记录集加"不可更新(对于其他事务)锁",
    且直到事务完成后其他事务才可以修改当前事务会读取的记录集,
    但在当前事务进行时可对当前事务会读取的记录集进行插入和删除
    **/

    -- 可用性和锁

    -- 事务设计需求 ACID
    /**
    原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

    隔离级别:
     Level0 - 读未提交(Read Uncommitted)
     Level1 - 读提交(Read Committed)
     Level2 - 可重复读(Repeatable Reads)
     Level3 - 可串行(Serializable)
    在2000/2005中默认级别是ANSI/ISO Level1, 既 Read Committed.

    **/

  • 相关阅读:
    Osg-地图界面显示指北针(指南针)
    学习c# 7.0-7.3的ref、fixed特性并在Unity下测试
    Linux下使用FreeBSD的ee
    C++ 中 malloc/free与 new/delete区别
    CMake 手册详解
    go 从入门到了解
    LINQ:对结果进行分组(MSDN)
    LINQ: List Contains List
    C# 如何使用log4net
    控制台程序要最后加上一句 Environment.Exit(0);
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/4781550.html
Copyright © 2020-2023  润新知