如果我们在sql-server中启用read committed snapshot会有什么风
我已经阅读了
here,每行将存储一些额外的数据,因此我们可能会看到性能下降但其他风险是什么?
例如. 我计划执行这些命令: ALTER DATABASE DatabaseName SET READ_COMMITTED_SNAPSHOT ON ALTER DATABASE DatabaseName SET ALLOW_SNAPSHOT_ISOLATION ON 我相信这会给我们更接近oracle的东西,如果一个事务正在更新,其他事务仍然可以读取旧数据.它是否正确? 我正在调查这个因为我厌倦了SQL Server 2005中的锁定问题.我希望这可以减少我们的用户偶尔看到的死锁,帮助我们的应用程序的整体性能,并鼓励我们的开发人员每个事务执行多个操作恐惧. 解决方法摘要>如果您遇到锁定问题,那么您的代码就会出现问题:它不是数据库引擎 加载 它还会增加tempdb和CPU的负载.另见: > “Performance Impact: The Potential Cost of Read_Committed_Snapshot”(Linchi Shea) 安全 最重要的是,默认情况下,快照隔离在许多情况下并不安全.有关写入偏斜异常的更多信息,请阅读“Snapshot isolation” (Wikipedia).下一节是“使快照隔离可序列化”来解决这个问题.
另见: > “The Potential Dangers of the Read Committed Snapshot Isolation Level”(JimMcLeod,Alex Kuznetsov的评论中有争议) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从现有数据库模式生成Hibernate hbm xml文件和实体类
- SQLServer中in和not in子查询注意事项
- 在dplyr连接中忽略大小写敏感性
- reporting-services – 无法在SSRS 2008 R2订阅中选择多值参
- SQL Server 参数化查询之where in和like实现分析
- sqlserver 编辑、修改字段说明(备注) sp_addextendedprop
- 数据库 – Oracle在不同架构上的表名相同吗?
- sqlserver 2012中实现字符串连接的新方法
- MySQL 从一张表update字段到另外一张表中
- SQL Server透明数据加密(TDE)库的备份和还原