--=====================================================
--行版本控制已提交读
ALTER DATABASE DB5 SET READ_COMMITTED_SNAPSHOT ON
GO
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
GO
BEGIN TRANSACTION tran
--=====================================================
在事务执行过程中,并不保证两次读取数据一致,当数据在其他事务中修改并提交,再次查询能立即得到最新的数据。
使用快照来保存修改数据的原始版本,读取数据时如数据已经被修改但为提交,则读取快照中的副本数据
--=====================================================
在开启行版本控制后,SQL SERVER 会将行版本数据存放tempdb里,需要考虑tempdb的负载
--=====================================================
优点:有效减少读和写得阻塞,不会读取过时数据和不会引发数据版本冲突
缺点:维护行版本需要额外的开销