鍍金池/ 問答/數(shù)據(jù)庫/ mysql中隔離級別和鎖有什么關(guān)系?

mysql中隔離級別和鎖有什么關(guān)系?

隔離級別、鎖貌似都可以解決數(shù)據(jù)庫事務(wù)并發(fā)帶來的問題吧?這兩者有什么關(guān)系???有點想不通

回答
編輯回答
舊時光

鎖是解決并發(fā)問題的經(jīng)典方案,對于簡單并發(fā)問題,使用鎖就可以了。但對于事務(wù)這種復(fù)雜問題,光有鎖是不行的,比如兩個事務(wù),他們是否能看到對方修改的數(shù)據(jù),是否需要確保一個事務(wù)內(nèi)的讀是可重復(fù)的,這些問題的不同解決方案都會影響復(fù)雜應(yīng)用在并發(fā)時的邏輯和執(zhí)行結(jié)果,稍不注意就會導(dǎo)致錯誤的結(jié)果,所以引入了隔離級別這個概念來對事務(wù)的隔離性進行規(guī)范,也就是說隔離級別實際上是應(yīng)對事務(wù)這個復(fù)雜問題而引入的,如果僅有并發(fā)而沒有事務(wù)就無所謂的隔離級別了。

簡單的說,鎖是并發(fā)控制的基礎(chǔ),隔離級別是更高層次上的應(yīng)對事務(wù)的整體解決方案。

2017年1月30日 08:10