readcommitted隔离级别是否会导致死锁(Sql Server)?
发布时间:2020-05-25 10:23:08 所属栏目:MsSql 来源:互联网
导读:我对死锁的理解是 – 两个试图争用相同资源的进程 – 通常是两个进程试图“写”到同一行数据.如果所有进程都在读取数据 – 而另一个进程正在更新数据,那么资源争用情况如何?然而,在我们的数据库中,设置为默认事务级别“ReadCommitted”,我们看到了几个死锁异
|
我对死锁的理解是 – 两个试图争用相同资源的进程 – 通常是两个进程试图“写”到同一行数据.如果所有进程都在读取数据 – 而另一个进程正在更新数据,那么资源争用情况如何?然而,在我们的数据库中,设置为默认事务级别“ReadCommitted”,我们看到了几个死锁异常.
谢谢 解决方法是的,它可能发生.想象一下,你有两个进程,每个进程都有自己的事务.第一次更新TableA然后尝试更新TableB.第二次更新TableB然后尝试更新TableA.如果你运气不好,两个进程都会设法完成第一步,然后无限期地等待另一个进程,以完成第二步.顺便说一句,这是避免死锁的最常见方法之一:按照更新表的顺序保持一致.如果两个进程首先更新TableA然后更新TableB,则不会发生死锁. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLServer数据库的各种管理方法
- sql-server – 使用下面给出的连接字符串连接数据库需要做什
- .net – 更新Entity Framework中的数据库模式
- sql-server – 如何查找SQL Server上安装的Service Pack?
- sql-server – 在SQL Server 2008中的符号之前的字符串中隔
- 在SQL中,是否存在非聚合最小/最大运算符
- SQL Server SQL语法 分隔符理解
- SQL查询语句通配符与ACCESS模糊查询like的解决方法
- 我可以在T-SQL SELECT中定义一个循环中的变量(像LINQ中的LE
- SQL Server 2008 新特性 总结复习(一)
