- 論壇徽章:
- 0
|
本帖最后由 shakeone 于 2010-08-17 20:43 編輯
回復(fù) 38# xjtuhuth
insert的問(wèn)題:apl屬于all page locking,所以這個(gè)page被加上了事務(wù)級(jí)別的互斥鎖,就是說(shuō)等這個(gè)事務(wù)結(jié)束這個(gè)page才能被別的事務(wù)加上鎖。如果是dol的話,insert會(huì)產(chǎn)生一個(gè)新的row,對(duì)應(yīng)有一個(gè)新的row id,所以datarows locking會(huì)鎖住這個(gè)row id,對(duì)其他row沒(méi)有任何影響,所以不會(huì)有apl有的問(wèn)題。
另外說(shuō)一句,如果session 2是isolation level 3, insert也會(huì)block這個(gè)scan,因?yàn)閘evel 3防止幻影行的出現(xiàn)。
update的“問(wèn)題”可以說(shuō)是個(gè)問(wèn)題,也可以說(shuō)不是,因?yàn)閟ybase ase是嚴(yán)格按照sql標(biāo)準(zhǔn)的isolation level來(lái)實(shí)現(xiàn)的,所以阻止別的事務(wù)讀一個(gè)正在更新的數(shù)據(jù)是符合標(biāo)準(zhǔn)的,如果要改成那種返回更新前的數(shù)據(jù)或者是臟數(shù)據(jù)的話,ase的投行大客戶們一定會(huì)給我們發(fā)priority 80以上的change request的。所以這個(gè)被認(rèn)為不是問(wèn)題,也就沒(méi)有加入mvcc的必要了。
話說(shuō)mvcc這個(gè)項(xiàng)目應(yīng)該早就做了,本來(lái)是打算用到cluster里面的,后來(lái)不知道印度的同事們移植進(jìn)去了沒(méi)有。 |
|