数据库并发操作会带来哪些问题及原因 2018-06-23 默认分类 暂无评论 786 次阅读 ##丢失更新 当两个或多个事物读入同一数据并修改,会发生丢失更新问题,即后一个事物更新的结果被前一事务所做更新覆盖 即当事务A和B同事进行时,事务A对数据已经改变但并未提交时B又对同一数据进行了修改(注意此时数据是A还未提交改变的数据),到时A做的数据改动丢失了 ##不可重复读 当两个数据读取某个数据后,另一事务执行了对该数据的更新,当前一事务再次读取该数据(希望与第一次读取的是相同的值)时,得到的数据与前一次的不一样,这是由于第一次读取数据后,事务B对其做了修改,导致再次读取数据时与第一次读取的数据不想同 ##读‘脏数据’ 当一个事务修改某个数据后,另一事务对该数据进行了读取,由于某种原因前一事务撤销了对改数据的修改,即将修改过的数据恢复原值,那么后一事务读到的数据与数据可得不一致,称之为读脏数据 ------------ **注意:还有一个叫“幽灵数据” 幽灵数据与脏数据类似,不过幽灵数据是指事务提交之后读到的数据,但是在读取之后又进行了对前一事务的恢复,而脏数据是指并未提交前读取的数据** 标签: none 转载请注明文章来源 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭