事務(wù)并發(fā)控制不當產(chǎn)生的問題?
如果不對事務(wù)進行并發(fā)控制,可能會產(chǎn)生四種異常情況:
1.幻讀(phantom read):一個事務(wù)第二次查詢出現(xiàn)第一次沒有的結(jié)果,說明別的事務(wù)已經(jīng)插入一些數(shù)據(jù)。注意這是在同一個事務(wù)里面的查詢
2.非重復(fù)讀(nonrepeatable read):一個事務(wù)重復(fù)讀兩次得到不同結(jié)果,說明讀取操作結(jié)果是不可重復(fù)的。
3.臟讀(dirty read):一個事務(wù)讀取到另一個事務(wù)沒有提交的修改,就是當另一個事務(wù)它還沒有提交修改一個事務(wù)就讀取到了修改。
4.丟失修改(lost update):并發(fā)寫入造成其中一些修改丟失。