2010-02-04 73 views

回答

3

假设你有一个SQL语句,例如,UPDATE table SET a = a + 1 WHERE ...,这将对应于以下代码:

read a 
a = a + 1 
write a 

假设两个客户端A和B同时执行此操作。可能会发生以下情况(时间从上到下):

A   B 
read a  
      read a 
a = a + 1 
write a 
      a = a + 1 
      write a 

会发生什么情况? a只增加一次,但应该增加两次。这是一个经典的并发冲突。为避免这种冲突,数据库使用交易

+0

很好的解释。谢谢。 – LearningCSharp

0

当两个事务试图在database.There锁定一个资源都在这个很多教程只是使用谷歌找到some.Here并发冲突发生是链接到一个 link text

+0

谢谢,我试过谷歌,得到了msdn http://msdn.microsoft.com/ en-us/library/dd937753(SQL.105).aspx,但无法理解这个概念是什么。您的链接更有帮助。谢谢 – LearningCSharp