软件开发 db2 v9.7

DB29.7中几个延迟锁定的注册变量还有效么

DB2_SKIPINSERTED/DB2_SKIPDELETED/DB2_EVALUNCOMMITTED这几个关于延迟锁定的注册变量在9.7版本中还有效么,怎么试了如下的并行查询,并不会产生锁等:
db2 +c "select * from t_test where i_id=2 for update with rs"
db2 +c "select * from t_test where i_id=20 for update with rs"
注:试的时候在将CUR_COMMIT关闭的情况下,无论以上三个注册变量是启用还是关闭,上述两个SQL语句并行执行时都不会发生锁等。建表语句和使用的基础数据如下:
create table t_test
(i_id int not null,
i_cola int,
i_colb int);
insert into t_test with tmp(id,cola,colb) as (values(1,1,1) union all select id+1,id+1,id+1 from tmp where id<100000)select * from tmp;
参与5

4 同行回答

sukai sukai 软件开发工程师 北京高阳金信信息技术有限公司
9.7版本默认隔离级别是CS,游标稳定性,但是会在当前读的行上加锁,影响数据库的并行性,所以引入了当前已落实(Currently Committed)参数,默认是开启的,将该参数关闭,就可以出现锁等待。...显示全部
9.7版本默认隔离级别是CS,游标稳定性,但是会在当前读的行上加锁,影响数据库的并行性,所以引入了当前已落实(Currently Committed)参数,默认是开启的,将该参数关闭,就可以出现锁等待。 收起
软件开发 · 2013-12-19
浏览941
共同进步 共同进步 数据库架构师 中国金融电子化公司
上面已经说了,“试的时候在将CUR_COMMIT关闭”显示全部
上面已经说了,“试的时候在将CUR_COMMIT关闭” 收起
软件开发 · 2013-12-03
浏览918
棉花糖ONE 棉花糖ONE 数据库管理员 用友软件
在9.1版本上试过,采用表扫描的执行计划,两者之间确实是会发生锁等的,但在9.7版本上不会 ...共同进步 发表于 2013-11-25 11:15 默认是打开了current commit显示全部
在9.1版本上试过,采用表扫描的执行计划,两者之间确实是会发生锁等的,但在9.7版本上不会 ...
共同进步 发表于 2013-11-25 11:15



默认是打开了current commit 收起
互联网服务 · 2013-12-03
浏览947
共同进步 共同进步 数据库架构师 中国金融电子化公司
在9.1版本上试过,采用表扫描的执行计划,两者之间确实是会发生锁等的,但在9.7版本上不会显示全部
在9.1版本上试过,采用表扫描的执行计划,两者之间确实是会发生锁等的,但在9.7版本上不会 收起
软件开发 · 2013-11-25
浏览920

提问者

共同进步
数据库架构师 中国金融电子化公司
擅长领域: 数据库服务器分布式系统
评论413

相关资料

问题状态

  • 发布时间:2013-11-23
  • 关注会员:1 人
  • 问题浏览:4314
  • 最近回答:2013-12-19
  • X社区推广