假設(shè)有兩個事務(wù)遏匆,T1和T2
讀臟數(shù)據(jù):T1?修改一個數(shù)據(jù)法挨,T2?隨后讀取這個數(shù)據(jù)。如果?T1?撤銷了這次修改拉岁,那么?T2?讀取的數(shù)據(jù)是臟數(shù)據(jù)坷剧。
幻影讀:T1?讀取某個范圍的數(shù)據(jù),T2?在這個范圍內(nèi)插入新的數(shù)據(jù)喊暖,T1?再次讀取這個范圍的數(shù)據(jù)惫企,此時讀取的結(jié)果和和第一次讀取的結(jié)果不同。?是指當(dāng)某個事務(wù)在讀取某個范圍內(nèi)的記錄是另外一個事務(wù)又在該范圍內(nèi)插入了新記錄陵叽,當(dāng)之前的事務(wù)再次讀取該范圍的記錄時狞尔,會產(chǎn)生幻行。例如第一個事務(wù)對一個表中的數(shù)據(jù)進(jìn)行了修改巩掺,這種修改涉及到表中的全部數(shù)據(jù)行偏序。同時,第二個事務(wù)也修改這個表中的數(shù)據(jù)胖替,這種修改是向表中插入一行新數(shù)據(jù)研儒。那么,以后就會發(fā)生操作第一個事務(wù)的用戶發(fā)現(xiàn)表中還有沒有修改的數(shù)據(jù)行独令,就好象發(fā)生了幻覺一樣端朵。
幻讀的重點在于新增或者刪除同樣的條件,?第?1?次和第?2?次讀出來的記錄數(shù)不一樣。而讀臟數(shù)據(jù)是讀到的數(shù)據(jù)是已經(jīng)被撤銷修改的數(shù)據(jù)燃箭,所以是臟數(shù)據(jù)冲呢。