DB2 中使用 UR 实现未提交读 | AI生成和翻译

Home 2026.01

Question: 在 DB2 中 “WITH UR” 是什么意思?

Answer:

在 DB2 (IBM Db2) 中,WITH UR 是一个可以添加到 SELECT 语句中的子句,用于为该特定查询指定 Uncommitted Read(未提交读)隔离级别。

它的作用:

SELECT * FROM employee WHERE dept = 'A00' WITH UR;

常见 DB2 隔离级别对比:

Isolation level Clause Locks taken Can read uncommitted data? Typical use case
UR WITH UR 几乎没有 是 (dirty read) 报表、监控、非关键性读取
CS WITH CS 短期读取锁 许多应用程序的默认设置
RS WITH RS Read stability locks 查询期间需要一致的视图
RR WITH RR 强 Repeatable read 最高的一致性,重度锁定

使用 WITH UR 的优点:

缺点与风险:

总结:

WITH UR = “我接受脏数据/未提交数据,以换取最高的速度和零阻塞。”

它是生产环境下(尤其是在 Db2 for z/OS 上)最常用的 DB2 特定指令之一。

References:


Back

x-ai/grok-4.1-fast

Donate