• 技术文章 >常见问题

    并发操作可能会产生哪几类数据不一致?

    青灯夜游青灯夜游2020-08-31 13:17:25原创8256

    并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。避免不一致性的方法和技术就是并发控制,最常用的技术是封锁技术;也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

    并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。

    1、丢失修改(Lost Update)

    两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。

    2、不可重复读(Non -Repeatable Read)

    不可重复读是指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。

    3、读“脏”数据(Dirty Read)

    读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。

    用什么方法能避免各种不一致的情况?

    避免不一致性的方法和技术就是并发控制,最常用的技术是封锁技术;也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

    更多相关知识,请访问:PHP中文网

    以上就是并发操作可能会产生哪几类数据不一致?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:并发 数据不一致
    上一篇:vb的自动语法检测功能可以帮助设计者排除什么? 下一篇:遗传算法的基本步骤是什么

    相关文章推荐

    • Go,PHP,Swoole 并发测试详解• 并发控制的单位是什么?• 并发和并行的区别是什么?• 分享几种PHP并发场景的解决方案• php mysql 并发解决方案

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网