我有一个方法
void SaveApplicationData()
{
begin transaction
update
insert
commit transaction
}
如果两个用户同时调用此方法,这两个数据库事务可以同时运行吗?
答案 0 :(得分:1)
是的,他们可以同时运行
答案 1 :(得分:1)
可以同时运行大量事务。但是,如果他们正在更新相同的行,他们可能会遇到锁定问题,并且可能会回滚一个或多个。 (自从我处理冲突的交易以来已经很长时间了。)
答案 2 :(得分:0)
确保使用正确的Isolation Level
答案 3 :(得分:0)
否,它不能同时运行。假设您有一个拥有k美元的帐户,并且在第一笔交易中您要求提取k美元,在第二笔交易中您要求相同。您将获得2 k美元,因为您同时进行了交易,并且您的帐户余额显示两次交易的k美元。所以避免这种情况,我认为他们使用同步。没有完成第一笔交易,您将无法继续第二笔交易;如果您继续,则必须等到第一笔交易完成。