舉例說明四種事務(wù)隔離級別有何差別
馬克-to-win:比如說:窗口1是READ-UNCOMMITTED級別,而窗口2是REPEATABLE-READ級別。(如何設(shè)置隔離級別,請參見“缺省隔離級別是怎么回事?如何改變?”)這樣,我窗口1讀數(shù)據(jù)時,能看到其他窗口update以后還沒有commited的數(shù)據(jù)。換句話說,你update以后,即使沒有提交,我都能看見。而因為你的級別是REPEATABLE-READ。這個隔離級別比較高,換句話說就是隔離度高。我更新完數(shù)據(jù)后,你看不到。馬克-to-win:你要想看到我更新的數(shù)據(jù),必須得我提交以后,而且你也得提交完成你的transaction(事務(wù))。咱們倆都塵埃落定了,你才能看到我更新的數(shù)據(jù)。因為這樣做其實就怕我回滾或者你回滾。如果我的窗口1的隔離級別剛才不是設(shè)成READ_UNCOMMITTED,而是設(shè)成READ_COMMITTED,則我的窗口1只能看到你commited以后的數(shù)據(jù)。你不commit的話,當(dāng)我select * from table時,只能看到以前的數(shù)據(jù),你update以后而未提交的變化數(shù)據(jù),我一點兒都看不見。同樣,如果我的窗口1的隔離級別剛才不是設(shè)成 READ_UNCOMMITTED,而是設(shè)成SERIERLIZED的話,這是隔離級別最高的一種隔離,可以說隔離得最徹底。我窗口1開始 Transaction(事務(wù))以后,即使我隨隨便便select * from table一下,你的Transaction之后都無法update。但如果說是你先進(jìn)的transaction,你update之后,在你沒提交之前,我的普通的select * from table都不能執(zhí)行。馬克- to-win:馬克 java社區(qū):防盜版實名手機尾號: 73203。