![]() |
1
64
问自己以下问题:如果有人在事务运行时向您的数据中插入新行,会不会很糟糕?这会以一种不可接受的方式影响你的结果吗?如果是,请使用可序列化级别。 从 MSDN regarding SET TRANSACTION ISOLATION LEVEL :
因此,您的事务在其整个生命周期中维护所有锁——甚至是那些通常在使用后丢弃的锁。这使得所有事务似乎一次运行一个事务,因此名称为SERIALIZABLE。来自的注释 Wikipedia regarding isolation levels
|
![]() |
2
3
试试会计。如果您想拥有适当的帐户值并遵守诸如信用限额之类的规定,那么帐户中的事务本质上是可序列化的。 |
![]() |
3
3
这个
和微软 documentation 扩展为以下两个:
下表显示了不同隔离级别启用的并发副作用:
所以,问题是您的业务需求允许哪些读取现象,然后检查您的硬件环境是否可以处理更严格的并发控制?
注意,关于
另外,关于 Transaction Locking and Row Versioning Guide 是一个伟大的地方,很多方面都涵盖和解释。 |
|
4
0
它的行为方式是,当您尝试更新一行时,它只是阻止更新过程,直到事务完成。 |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |