免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1316 | 回复: 3
打印 上一主题 下一主题

Informix 和 DB2 锁机制有何不同? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-12 23:18 |只看该作者 |倒序浏览
我发现DB2和Informix在两个事务同时insert数据时表现不同,

create table person(
       int id primary key,
       varchar(20) name
);

先执行Transaction1:
begin work;
insert into person(id,name) values(1,'person1');

再执行Transaction2:
begin work;
insert into person(id,name) values(2,'person2');


我在informix 中执行,Transaction2 会给出错误提示“can't insert into new row”
而类似的代码在db2中可以正常的执行。

能否得出结论,db2与informix在锁机制上不同,导致了db2中两个事务可以并发向一张有主键的表中insert数据而无需等待,而informix中只能前一事务结束后,另一个事务才能insert。

如果是这样,谁能说说db2与informix在锁机制上的异同。

另外,对于informix,需要频繁insert的表,岂不成了并发系统的瓶颈。

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
2 [报告]
发表于 2004-02-13 11:37 |只看该作者

Informix 和 DB2 锁机制有何不同?

你的INFORMIX那个表用了页锁?
记得DB2缺省就是行锁。

论坛徽章:
0
3 [报告]
发表于 2004-02-13 18:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2004-02-16 11:18 |只看该作者

Informix 和 DB2 锁机制有何不同?

谢谢,我初始设置行锁,所以没有怀疑过锁的设置,
wolfop提醒后,我今天才有机会检查一下表的锁设置,果然是页锁。
问题已经不存在了,多谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP