- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简单的问题?
为什么READ_COMMITTED_SNAPSHOT
默认情况下未启用?
我猜测是向后兼容性、性能还是两者兼而有之?
[编辑]请注意,我感兴趣的是与 READ_COMMITTED 隔离级别相关的效果,而不是快照隔离级别。
为什么这是一个重大更改,因为它持有较少的锁,并且仍然不读取未提交的行?
最佳答案
Turning snapshot on by default would break the vast majority of applications
我不清楚它是否会破坏“绝大多数”应用程序。或者,它是否会以难以识别和/或难以解决的方式破坏许多应用程序。 SQL Server 文档指出,READ COMMITTED 和 READ COMMITTED SNAPSHOT 均满足 READ COMMITTED 的 ANSI 定义。 (此处说明:http://msdn.microsoft.com/en-us/library/ms189122.aspx)因此,只要您的代码不依赖于超出字面 ANSI 要求的行为之外的任何内容,理论上就可以了。
问题在于,ANSI 规范并没有涵盖人们通常认为的脏读、模糊/不可重复读等实际含义的所有内容。而且,在READ COMMITTED SNAPSHOT
下可能会发生一些在READ COMMITTED
下不会发生的异常情况(ANSI 定义所允许的)。有关示例,请参阅http://www.jimmcleod.net/blog/index.php/2009/08/27/the-potential-dangers-of-the-read-committed-snapshot-isolation-level/ .
有关隔离级别之间差异的深入信息,请从 http://www.cs.umb.edu/cs734/CritiqueANSI_Iso.pdf 开始(在撰写本文时,READ_COMMITTED_SNAPSHOT
尚未出现,但其他级别已包含在其中)。
关于sql-server - 为什么 READ_COMMITTED_SNAPSHOT 默认情况下未启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1363444/
我想在 SQL Azure 数据库上将 READ_COMMITTED_SNAPSHOT 设置为 ON,但 Azure 不支持以下适用于其他版本的 SQL Server 的代码: ALTER DATAB
简单的问题? 为什么READ_COMMITTED_SNAPSHOT默认情况下未启用? 我猜测是向后兼容性、性能还是两者兼而有之? [编辑]请注意,我感兴趣的是与 READ_COMMITTED 隔离级别
运行需要多长时间 ALTER DATABASE [MySite] SET READ_COMMITTED_SNAPSHOT ON 我刚刚运行了它,花了 10 分钟。 如何检查是否已应用? 最佳答案 您可
我正在尝试运行下面的 SQL 语句: ALTER DATABASE DBNAME SET READ_COMMITTED_SNAPSHOT ON 但是,当我运行它时,它没有完成执行,我必须在 1 小
在 SQL Server 中,默认隔离级别是 READ_COMMITTED,但在 SQL Azure 中,默认级别是 READ_COMMITTED_SNAPSHOT。 假设我将我的 SQL Azure
最近,我们的用户有时会遇到timeout expire error,当他们想要更新数据库上的一些记录时。(我认为数据库中发生了类似死锁的事情)我们的数据库是 SQL Server 2008 R2,我们
我们正在运行 SQL Server 2005 Enterprise SP3,我正在尝试在以 sql server 2005 模式运行的新数据库上启用行版本控制。 查询(针对主数据库): ALTER D
我很好奇在数据库上使用 IsolationLevel.Snapshot 和 SET READ_COMMITTED_SNAPSHOT ON 的效果。 documentation对于 IsolationL
我是一名优秀的程序员,十分优秀!