中易网

并发操作会带来哪些数据不一致性

答案:2  悬赏:20  
解决时间 2021-03-25 08:02
并发操作会带来哪些数据不一致性
最佳答案
— 保守式并发控制:数据从数据库取出之后,一直处于锁定的状态,其他用户不能获取该数据,直至数据更新完毕之后,用户才能取出该数据进行操作。此种控制方式对于性能和资源占用得很多,由于只能同时有一个用户对数据享用操作权,所以可能会在正常业务中,影响其他用户的处理进程。但此控制方式可以完全保证数据的完整性。该方式可以通过.NET提供的事务机制来实现,前提是数据源需要支持事务。

— 开发式并发控制:数据在更新之前都是可以被其他用户使用的,只有在更新的时候,才锁定记录。但更新的时候,会比对与查询之初的数据是否吻合,如果不一致,则不运行修改。此种控制方式也可以完全保证数据的完整性,其优点是不会占用其他用户访问该数据的权限,其缺点是由于其他用户可能已经更新了这些数据,导致本次更新可能不会完成。对于此种控制方式,多以开发人员通过程序本身的业务逻辑来实现。

— 最后更新生效方式:此种方式同上,只有在数据更新的时候,其他用户才不可使用,但更新的时候不检查是否与开始数据一致,而直接对其更新。此种方式对于更新的并发性有很大的支持,但缺点是可能引发前后数据的不一致。此种方式适合可以满足此需求的业务场景使用。

注意:数据库的并发处理并不是一成不变的,不同的业务场景对数据库的并发要求是不一样的,可以根据具体情况具体分析
全部回答
脏读 dirty reads:就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。举例来说:transaction 1 修改了一行数据,然后 transaction 2 在 transaction 1 还未提交修改操作之前读取了被修改的行。如果 transaction 1 回滚了修改操作,那么 transaction 2 读取的数据就可以看作是从未存在过的。 不可重复的读 non-repeatable reads:不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。举例来说:transaction 1 读取一行数据,然后 transaction 2 修改或删除该行并提交修改操作。当 transaction 1 试图重新读取该行时,它就会得到不同的数据值(如果该行被更新)或发现该行不再存在(如果该行被删除)。 幻觉读 phantom read:幻觉读是指当事务不是独立执行时发生的一种现象,例如 第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。举例来说:transaction 1 读取满足某种搜索条件的一些行,然后 transaction 2 插入了符合 transaction 1 的搜索条件的一个新行。如果 transaction 1 重新执行产生原来那些行的查询,就会得到不同的行。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
合肥珠宝店哪家比较好?重庆比较好的珠宝店有
大连装修公司哪家最好?美世美嘉装饰好吗?想
西城区少年宫 舞蹈招生
薰衣草市场价格是多少呢? 景观用
什么是4K电视,选哪个牌子的比较好?
家庭中的蒙台梭利早教游戏跟蒙台梭利教育经典
欧三国三解放j6390报价
茶山菇怎样做好吃
垫资注册的公司,注册资金被抽走后挂在股东借
我昨天摔了一跤。今天都还很疼。但是我的伤没
公交车的喇叭声音太大找哪个部门反映啊?
哪位知道吉林省地区贝亲婴幼儿用品代理商的联
求《甄嬛传》中,甄嬛劝说敦亲王福晋让敦亲王
三岁小孩能喝鲜牛奶吗?我家小孩都三岁了不想
森田药妆玻尿酸面膜和wis面膜哪个好
推荐资讯
娱乐圈最烂女人是谁、
你是一个女生 如果一群女生打你一个人你该怎
WinKawaks联机游戏全是英文有什么办法把它设
悦诗风吟散粉网筛怎么拿起来
青鬼3健篇攻略全
长春市社保网关于2016年退休涨工资信息
阴阳师体力食盒系统介绍 体力食盒注意事项
吴昕家冰箱全是这个 何炅谢娜曝她家一片狼藉
温州有卖未来人类电脑吗?
谁知道13个月男宝宝大拇指指甲根部发青是怎么
跪求川味跳水兔的做法?
如何选择空气能热水器?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?