- 论坛徽章:
- 0
|
我发现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的表,岂不成了并发系统的瓶颈。 |
|