事务并发,怎么样不会数据丢失?

lvyhong 发布于 2013/04/16 11:16
阅读 258
收藏 0

事务A和事务B 都是插入和更新同一张表的数据,在事务A还没有完成前有提交了事务B,如果事务A执行的时间过长,那么事务B的数据就会丢失;

求教 这个该怎么去处理

以下是问题补充:

@lvyhong:或是同一事务,在未完成另一个用户有提交了该事务 (2013/04/16 11:40)
加载中
0
烟花人
l
lvyhong
网上说得我有点不太清楚,能说得详细点些吗
0
StormFour
StormFour

这你就要说明用的什么数据库了,数据库不同原理不同。

0
无名人士
无名人士
事物隔离级别设置
0
爱吃大肉包
爱吃大肉包

脏读

脏读又称无效数据的读出,是指在数据库访问中, 事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。脏读就是指当一个 事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个 事务读到的这个数据是 脏数据,依据脏数据所做的操作可能是不正确的。

0
恺哥
恺哥

你可以将事务A和B整合在一起,做成一个事务,就能保证你要的效果了;

--------------------------没看到你的补充信息

这种操作,你可以使用消息中间件来处理

0
mark35
mark35
简单办法是上锁
0
恺哥
恺哥
上锁的话,如果请求量大,事务处理时间长,服务器肯定蹦
返回顶部
顶部