DB2 for z/OS是否具有类似于Oracle中的READ ONLY的隔离级别?



DB2 for z/OS是否具有类似于Oracle中的READ ONLY的隔离级别?我需要实现几个对DB2的大选择,还需要检索在查询启动时按时提交的一致数据,因此我需要"快照隔离级别"之类的东西。据我所知,在Oracle中,它可以通过READ ONLY隔离级别实现,但是DB2 for z/OS呢?

DB2 for z/OS没有"read only"隔离级别(Oracle也没有,因为"read only"是一种事务状态,而不是隔离级别)。

如果您使用当前提交的并发访问解析选项,您可以避免查询的锁等待,但是,请注意它本身并不实现"快照隔离"——使用此选项的查询将看到最近提交的更改,即使这些更改是在查询开始后提交的

在DB2 z/OS中有一个FOR READ ONLY子句。您可以将它添加到查询的末尾。

对于允许更新和删除的表,指定ForREAD ONLY可以提高FETCH操作的性能DB2®可以执行阻塞并避免排他锁。例如,在包含没有FOR READ ONLY的动态SQL语句的程序或者ORDER BY子句,DB2可能会打开游标,就像UPDATE子句打开游标一样指定。

这里是信息中心的文章提供更多信息。


如果您真的在寻找"Serializable"的DB2版本,那么您应该寻找Repeatable Read。

最新更新