快照隔离功能可帮助我们解决读者锁定高容量站点上的编写器的问题.它是通过在SqlServer中使用tempdb对行进行版本控制来实现的.
我的问题是正确实现此快照隔离功能,只是在我的SqlServer上执行以下操作
ALTER DATABASE MyDatabase SET ALLOW_SNAPSHOT_ISOLATION ON ALTER DATABASE MyDatabase SET READ_COMMITTED_SNAPSHOT ON
我是否还必须编写包含TransactionScope的代码,例如
using (new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.SnapShot}))
最后,布伦特在本文的 "隐藏的并发成本"一节中指出了他的关注,他提到在tempdb中对行进行版本化时,tempdb可能会用完空间,并且可能会出现性能问题,因为它必须查找版本化的行.所以我的问题是我知道这个网站使用快照隔离,其他人在大型网站上使用此功能,你对性能有何看法?
雷,雷.