使用 Dirty Read 隔离级别
不论在它们之上是否有锁,都使用 Dirty Read 选项来从数据库复制行。获取行的程序不放置锁且
不予考虑。Dirty Read 是不实现会话日志记录的数据库的唯一可用的隔离级别。
此隔离级别最适合于用于数据未被修改的表上的查询的静态表,因为它不提供隔离。通过 Dirty
Read,程序可能返回在随后已回滚了的事务之内插入或修改了的未提交的行,或当您首次读查询集
时不可见的幻像行,但会在同一事务内随后的读之前在查询集中具体化。(仅 Repeatable Read 隔
离级别防止访问幻像行。仅 Dirty Read 提供从并发事务访问未提交的行,这些事务可能随后被回
滚。)
当使用 Dirty Read 隔离级别的 DML 操作可能返回未提交的行或幻像行时,可选的 WITH WARNING
关键字指导数据库服务器发出警告。下列示例中的事务使用此隔离级别:
BEGIN WORK;
SET ISOLATION TO DIRTY READ WITH WARNING;
...
COMMIT WORK;
Dirty Read 隔离级别对 USELASTCOMMITTED 配置参数和 USELASTCOMMITTED 会话环境
变量的当前设置非常敏感。要获取更多当将隔离级别设置为 DIRTY READ 或 ALL 时 Dirty Read
隔离级别的行为的信息,请参阅 Committed Read 的 LAST COMMITTED 选项。
当您使用“高可用性数据复制”时,数据库服务器有效地使用“HDR 辅助服务器”上的 Dirty Read 隔
离,不理会指定的 SET ISOLATION 或 SET TRANSACTION 隔离级别,除非启用
UPDATABLE_SECONDARY 配置参数。要获取关于此主题的更多信息,请参阅 辅助数据复制服
务器的隔离级别。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




