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

Experience 数据库脏读

阅读更多
Experience 数据库脏读

脏数据
浏览器   应用程序+数据库

对数据库进行更新操作,除了异常之外还有更新不成功,就是条件查询的时候没有查询到数据

一 浏览器 应用程序

1 A和B把数据都读出来了,A对数据进行了更新并提交成功了
  这个时候B看到的数据跟数据库里的不一致,但是B这个时候
  也对数据进行更新,程序设计的时候应该不能让B更新成功
  并给出提示信息更新失败,这个之前已经说过在表上加字段
  可以解决这个问题。

  1.1 上面这种情况只是对单条数据进行的操作
       如果有多条数据同时更新怎么办,有的数据更新成功了,有的数据没有更新成功
       例如,给一个团队分配多个用户的时候
        A,B都把用户给查询出来了,A给团队p分了10个人 ,B给团队分了 20个人 有重复了
        A先提交,用for循环进行更新每个人的团队状态字段
        这个时候B提交会覆盖掉A的数据,所以会出现问题

        怎么解决,还是用上面的方法在用户表里加lock字段更新做+1操作
        由于是for循环更新不是batch更新所以可以记录哪些数据返回的是1,哪些返回的是0
        返回时0的可以封装起来,返回到前台,用于显示哪些更新失败了。

       如果采用这种方式,那么团队人数的数量,是更新成功之后的数量,并不是传进来的
       20人就20人。

      如果是batch处理的话,两处操作,那么只能返回更新成功的条数。
    
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

二 数据库

2 A正在更新数据,B正在读数据,两个动作同时进行
  例如A正在置a1这条记录的删除状态为1,但是事物并没有提交
  这个时候B正在读a1这条记录,
  如果B这个时候读出了这条数据且B更新事物成功了
  那么B这个时候就不应该显示出这条数据,与数据库不一致了,脏读了。
  如果A回滚了还好说点,是正确的
(oracle默认的是不可提交读,就是读的是之前的数据?)
 
  这种情况怎么处理?
  这个就要用事物来进行控制了,表设计和程序是控制不了的
  当B对数据进行更新的时候,应该锁定这条数据,等B更新完
  事物提交或者回滚后,A才可以读出这条数据,B未提交之前A一致处在
  等待状态。
  具体怎么做? 看spring事物控制?
分享到:
评论

相关推荐

    网狐游戏数据库文档

    - Experience:用户经验数值,由游戏时间累积。 - LoveLiness:用户魅力值。 - UserRight:用户权限标志,参照权限对照表。 - MasterRight:管理员权限标志。 - ServiceRight:服务权限标志,由运营商定制。 - ...

    网狐棋牌数据库文档

    - **Experience**:用户经验数值,反映用户游戏总局数,可通过调整经验值获取方式来调整策略。 - **AllLogonTimes**:用户成功登录的总次数。 - **MemberOverDate**:会员到期日期,若用户登录时间晚于该日期,则...

    棋牌游戏数据库字段说明文档

    11. **Experience**:记录用户游戏经历,可基于此设计升级或奖励机制。 12. **AllLogonTimes**:统计用户登录次数,有助于分析用户活跃度。 13. **MemberOverDate**:标记会员资格有效期,自动化处理会员状态更新。 ...

    GeForce_Experience_v3.20.2.34.zip

    《GeForce Experience:驱动更新与优化游戏体验》 在当今的数字时代,电脑硬件的更新迭代速度极快,特别是对于图形处理单元(GPU)来说,不断优化的驱动程序是提升性能和兼容性的关键。NVIDIA的GeForce Experience...

    GeForce_Experience_v3.21.0.36.exe

    GeForce_Experience新版

    【数据库实战】MySQL DBA 数据库工程师实战经验

    【数据库实战】MySQL DBA 数据库工程师实战经验 (Practical experience of MySQL DBA database engineers) 文件列表: 01-mysql-consul (0, 2018-02-05) 01-mysql-consul\mysql_consul_高可用.md (14550, 2018-02-05)...

    小游戏数据库分析

    最后,经验获取类(Experience Acquisition)描述了获得经验的方法,这可能涉及到打怪、完成任务、参与活动等多种方式,对于玩家的成长系统至关重要。 综上所述,小游戏数据库的分析涉及了玩家、角色、技能、战斗和...

    JAVA-experience.rar_experience

    "JAVA-experience.rar_experience"这个压缩包文件,正如其名,是一位有经验的学长为正在学习Java的大学生们精心准备的学习心得分享。下面,我们将深入探讨这份资源可能包含的重要知识点,以及如何有效地利用这些经验...

    2021年华南农业大学-数据库课设资源.rar

    2021年华南农业大学数据库课设-快递管理系统 本快递系统我采用vue2编写,历时差不多2个月。实现了移动端的快递速运系统,本系统前后端分离。本资源包括,课程的答辩PPT、课程报告、源代码、图片、视频讲解。全都为...

    eXperience_Release.zip

    《深入探索"eXperience_Release.zip":WindowBlinds主题的魅力与应用》 在数字化时代的今天,个性化桌面体验已经成为许多用户追求的一种潮流。WindowBlinds,作为一款强大的Windows操作系统主题定制工具,允许用户...

    experience

    标题“experience”可能指的是某个项目经验或开发经验的分享,结合描述中提供的博文链接,我们可以推测这可能是一篇关于IT领域某项技术或工具实际应用的文章。由于标签中提到了“源码”和“工具”,我们可以预期这篇...

    ECC迁移至HANA数据库技术要点.docx

    最后,我们还讨论了帮助文档信息,包括Service MarketSL Toolset、Installation and System Copy Guides、SAP Community Network、System Copy and Migration、Experience SAPHANA、SAP ERP on HANA Cookbook、SAP ...

    GeForce_Experience_v3.20.5.70.zip

    geforce_experience 升级包。

    数据库表设计说明书

    ID(id)、应聘者姓名(ij_name)、性别(ij_sex)、年龄(ij_age)、出生日期(ij_birthday)、应聘职位(ij_job)、专业(ij_speciality)、工作经验(ij_experience)、学历(ij_teachSchool)、毕业学校(ij_afterSchool)、联系电话...

    nvidia-geforce-experience-3.19.0.94-22411.txt

    nvidia_geforce_experience_3.19.0.94-22411驱动版本,解决nvidia_geforce_experience_3.20.3.63-25266驱动无法使用滤镜问题

    Designing.the.User.Experience.of.Game.Development.Tools

    Title: Designing the User Experience of Game Development Tools Author: David Lightbown Length: 188 pages Edition: 1 Language: English Publisher: A K Peters/CRC Press Publication Date: 2015-02-18 ISBN-...

    人力资源管理系统数据库设计

    - `experience`:工作经验。 - `study_effort`:在校所学专业。 - `school`:毕业学校。 - `tel`:联系电话。 - `email`:电子邮箱。 - `create_time`:应聘信息创建时间。 - `content`:详细经历。 3. **...

    Beginning Adobe Experience Design epub

    Beginning Adobe Experience Design 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Agile Experience Design.pdf

    Agile Experience Design A Digital Designer’s Guide to Agile, Lean, and Continuous Lindsay Ratcliffe and Marc McNeill

Global site tag (gtag.js) - Google Analytics