- 论坛徽章:
- 0
|
本帖最后由 shakeone 于 2010-08-17 20:43 编辑
回复 38# xjtuhuth
insert的问题:apl属于all page locking,所以这个page被加上了事务级别的互斥锁,就是说等这个事务结束这个page才能被别的事务加上锁。如果是dol的话,insert会产生一个新的row,对应有一个新的row id,所以datarows locking会锁住这个row id,对其他row没有任何影响,所以不会有apl有的问题。
另外说一句,如果session 2是isolation level 3, insert也会block这个scan,因为level 3防止幻影行的出现。
update的“问题”可以说是个问题,也可以说不是,因为sybase ase是严格按照sql标准的isolation level来实现的,所以阻止别的事务读一个正在更新的数据是符合标准的,如果要改成那种返回更新前的数据或者是脏数据的话,ase的投行大客户们一定会给我们发priority 80以上的change request的。所以这个被认为不是问题,也就没有加入mvcc的必要了。
话说mvcc这个项目应该早就做了,本来是打算用到cluster里面的,后来不知道印度的同事们移植进去了没有。 |
|