隔離級別高好還是低好

馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號: 73203。
馬克-to-win:有同學(xué)問,是隔得狠的好(級別高)還是隔得不狠(級別低)的好?答案:沒有哪個(gè)絕對好,只有哪個(gè)更適合當(dāng)時(shí)的情形。眾所周知,序列化是最安全的(幻讀都讀不到),但它耗時(shí)也是最長的。當(dāng)你在更新時(shí),我連看都不能看。在很多情況下,是非常沒有必要的,太耗時(shí)了。其實(shí)在很多情況下,用戶只需要獲得一個(gè)大致的數(shù)據(jù)就可以了。比如大家一塊買票的情況,具體還剩一萬張票,還是還剩9999張票,差別不大。他其實(shí)就想看一個(gè)大概其而已,他知道現(xiàn)在是一萬張,而不是十張就夠了。馬克-to-win:因?yàn)檎嬉鞘畯埖脑?,就真得看手速了。要是一萬張的話,還可以先沖杯咖啡。所以為了讀數(shù)據(jù)提高效率,數(shù)據(jù)庫設(shè)計(jì)者就設(shè)計(jì)出四種隔離級別。更新時(shí)大家都得序列的更新,這沒得說。但讀時(shí),就有區(qū)別了。隔離得越不徹底,級別越低,耗時(shí)就越短,出現(xiàn)的現(xiàn)象當(dāng)然也越莫名其妙。比如別人一做修改,都不用提交,我就看見了?;旧蠌淖x的角度來講,就沒隔離。這種情況,實(shí)際上對要求不高的情形,是很實(shí)用的,因?yàn)樗蟠罂s短了時(shí)間。