脏读,不可重复读,幻影读是数据库最常见、最基础的问题。
我参照 http://blog.csdn.net/alex197963/article/details/1580841
里的讲述,夹杂自己的实践写点。
前提:我说的是数据在隔离情况下,如何保证数据的可靠性,以及尽量保证数据库的性能。
事务场景
是这样的:
对于同一个银行帐户A内有200元,甲进行提款操作100元,乙进行转帐操作100元到B帐户。如果事务没有进行隔离可能会并发如下问题:
脏读---读取未提交的数据---Read uncommitted
要点:应用程序中,维护了不同的变量去同步数据库。
分析:既然是数据隔离,不会在同一事务。
如果没有本地变量或缓存辅助,是不可能发生这种情况的,因为当前主流的数据库都是提交了之后,其他的访问才能知道。
这个问题主要存在于应用程序中。举例,Hibernate的缓存可能会产生脏读。如,javabean修改但没有保存在数据库中时,操作的业务数据存在于内存中(Hibernate控制)。
场景描述:数据库 银行帐户A内有200元。A读取时是200元(放在缓存里),取出100元(缓存中A账户的余额改为100元)。B要转账100元,如果余额在缓存中取,则缓存中的账户余额将变为0元。倘若A撤销刚才的取钱操作,账户将变为200元(如果以A查询出的200元为基础)。这样,A账户的最终金额将会是200或者0元,到底是谁,决定于谁提交,A提交账户是200,B提交账户将是0元(如果以B查询出的100元为基础)。但实际上应该为100元。
解决方法:维护一个实例。
分享到:
相关推荐
什么是脏读不可重复读幻影读,JAVA程序对MYSQL数据库加锁实验
ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读ado.net 幻影读
幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar 幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar幻影图片.rar
幻影导航条.rar幻影导航条.rar
matlab开发-幻影xrobotturretcontroller。控制Trossen Robotics Phantomx Roboturret:
苍青幻影6-4怎么过? 苍青幻影6-4攻略.docx
VB043-幻影动画 源代码
即: 事务隔离级别 并发问题 丢失修改 脏读 不可重复读 幻读 未提交读 (READ UNCOMMITTED) 避免 发生 发生 发生 提交读 (READ COMMITTED) 避免 避免 发生 发生 可重复读 (REPEATABLE READ) 避免 避免 避免 ...
• 并发事务之间相互干扰,可能导致事务出现读脏,不可重复度,幻读等问题 • InnoDB实现了SQL92标准中的四种隔离级别 (1)读未提交:select不加锁,可能出现读脏; (2)读提交(RC):普通select快照读,锁select /...
电子政务-幻影电脑的供电电源.zip
windows 强大的文件清理工具,可以强力清理任何病毒文件 和流氓软件,是windows用户常备工具
手工脱幻影壳 手工脱幻影壳 手工脱幻影壳手工脱幻影壳 手工脱幻影壳 手工脱幻影壳 手工脱幻影壳
touchdesigner glsl制作的 幻影之星。
五年级下信息技术教案-幻影移形 创建横幅广告_清华版.doc
spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读 spring 事务传播与隔离级别DEMO 脏读、重复读、幻影读
局域网内部网络管理,遇见不顾别人感受使劲P2P的人 只能用这招啦
《皮皮鲁和幻影号》读后感.doc
常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。
幻影系列驱动加载VEV10-1版,过非法找基址专用
移花接木,美女与野兽共存,不可错过的好东东啊! 幻影2003是图像合成的利器,也可以作为贺卡制作、婚纱摄影的工具。使用它可以为你的照片添加艺术像框和美丽的小饰品,只需要你轻轻移动鼠标,就可以做出一幅大师级...