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

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

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

回答
編輯回答
舊時(shí)光

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

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

2017年1月30日 08:10