`
xiang37
  • 浏览: 414280 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

脏读、不可重复读、幻影读的理解

 
阅读更多

1 脏读:当事务1修改了一条记录,没有提交时,事务2读取了该记录;当事务1回滚了,那么事务2的记录就是一条不存在的记录;

2 不可重复读:当事务1读取了一条记录,未提交事务,事务2修改了该条记录并且提交事务;事务1又读取了该条记录,发现两条记录不一样;

3 幻影读:当事务1根据某种检索条件读取了若干条记录,未提交事务;而事务2又插入了一条记录,该记录也符合事务1的检索条件;那么当事务1在根据相同查询条件检索数据时候,出现了不一致的现象。

根据锁机制来避免上诉问题:

排他锁:数据加锁后,只有锁的拥有者可以对该数据进行修改和读取,其他用户不能做任何操作,也不能加锁
共享锁:数据加锁后,所有用户都可以读取该对象,但是不能修改之,其他用户也可以加共享锁

处理以上隔离级别的问题,采用如下方是:
1 处理脏读:采用READ_COMMITTED,修改时加排他锁,直到事务提交后才释放,读取时加共享锁,读取完释放
事务1读取数据时加上共享锁后(这样在事务1读取数据的过程中,其他事务就不会修改该数据),不允许任何事物操作该数据,只能读取,之后1如果有更新操作,那么会转换为排他锁,其他事务更无权参与进来读写,这样就防止了脏读问题。但是当事务1读取数据过程中,有可能其他事务也读取了该数据,读取完毕后共享锁释放,此时事务1修改数据,修改完毕提交事务,其他事务再次读取数据时候发现数据不一致,就会出现不可重复读问题,所以这样不能够避免不可重复读问题。
2 处理不可重复读:读采用RepeatableRead,取数据时加共享锁,写数据时加排他锁,都是事务提交才释放锁。读取时候不允许其他事物修改该数据,不管数据在事务过程中读取多少次,数据都是一致的,避免了不可重复读问题
3 处理幻影读问题:用Serializable,采用的是范围锁RangeS RangeS_S模式,锁定检索范围为只读,这样就避免了幻影读问题,在这里有个描述范围锁的文章

分享到:
评论

相关推荐

    脏读不可重复读幻影读

    什么是脏读不可重复读幻影读,JAVA程序对MYSQL数据库加锁实验

    幻影读幻影读幻影读

    ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读

    4种事务的隔离级别

    • 并发事务之间相互干扰,可能导致事务出现读脏,不可重复度,幻读等问题 • InnoDB实现了SQL92标准中的四种隔离级别 (1)读未提交:select不加锁,可能出现读脏; (2)读提交(RC):普通select快照读,锁select /...

    spring 事务传播与隔离级别DEMO

    spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读 spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读

    手工脱幻影壳 手工脱幻影壳 手工脱幻影壳

    手工脱幻影壳 手工脱幻影壳 手工脱幻影壳手工脱幻影壳 手工脱幻影壳 手工脱幻影壳 手工脱幻影壳

    ADO.NET实现并发控制

    常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。

    java-数据库系统原理.docx

    即: 事务隔离级别 并发问题 丢失修改 脏读 不可重复读 幻读 未提交读 (READ UNCOMMITTED) 避免 发生 发生 发生 提交读 (READ COMMITTED) 避免 避免 发生 发生 可重复读 (REPEATABLE READ) 避免 避免 避免 ...

    《皮皮鲁和幻影号》读后感.doc

    《皮皮鲁和幻影号》读后感.doc

    幻影2003 v2.01.6

    移花接木,美女与野兽共存,不可错过的好东东啊! 幻影2003是图像合成的利器,也可以作为贺卡制作、婚纱摄影的工具。使用它可以为你的照片添加艺术像框和美丽的小饰品,只需要你轻轻移动鼠标,就可以做出一幅大师级...

    幻影2003 v3.0 完整版

    移花接木,美女与野兽共存,不可错过的好东东啊!幻影2003是图像合成的利器,也可以作为贺卡制作、婚纱摄影的工具。使用它可以为你的照片添加艺术像框和美丽的小饰品,只需要你轻轻移动鼠标,就可以做出一幅大师级...

    幻影wifi常用密码集合.zip

    幻影wifi常用密码集合.zip

    幻影企业授权版本

    版本:1.7 幻影游戏引擎是专业制作游戏和虚拟现实的引擎,其中包括渲染系统,场景系统,逻辑系统和网络系统等。 @备注: 幻影游戏引擎让您可以快速的完成您的游戏开发,并投入到商业运营中

    幻影脱壳 脱幻影的壳

    幻影脱壳,可以解决很多常见的幻影壳,配合peid使用会更好,您当然还得有OD之类

    伽利略,幻影场和宇宙的命运

    在本文中,我们研究了在存在伽利略校正(∂μϕ∂μϕ)□ϕ的情况下具有线性电势的幻影场和非幻影场的宇宙动力学。 我们显示,与标准情况相比,Big Crunch奇异性有所延迟; 延迟关键取决于伽利略校正的强度。 至于...

    灰色幻影css网页模板

    灰色幻影css网页模板

    幻影WIFI字典提取包

    弱密码,常用,提取自幻影WIFI,用电脑跑非常快

    幻影2007注册码

    幻影2007注册码 本人用WINHEX工具好不容易找到了这个东西的注册码,就和大家分享吧

    幻影pin1.6

    幻影pin1.6

    幻影WiFi字典.txt

    提取自幻影WiFi,国内常见弱密码 12345678 88888888 123456789 1234567890 11111111 1111111111 mimamima qwertyuiop 12345678901 520520520 0123456789 0987654321 66666666 999999999 0000000000 ABCD1234 ...

    幻影粒子中文版本

    幻影粒子AE强大插件

Global site tag (gtag.js) - Google Analytics