1. 程式人生 > >MySQL事務和鎖的關係

MySQL事務和鎖的關係

用一句話去概括事務:將對資料庫進行的多個操作封裝成單個,只有在所有操作都成功的情況下才真正實現變動,否則資料原封不動。用一句話概括鎖:一個讓資料不能被修改的功能。而他們之間的關係可以定義為:鎖是實現事務其中一個特性的機制。

事務是一個針對資料質量產生的概念。在高併發或者資料庫出現突然斷電的情況下,事務所包含的特性就能應對可能會出現的差錯。事務有4個特性:Atomic + Consistent + Isolated + Durable (ACID)。Atomic是原子性也就是之前提到的“要麼都成功,要麼都原封不動的概念”。它的設定是來保證一個事務在執行上不能被拆分。Consistent是一致性,如果出現突然斷電,事務的原則能保證沒有資料更新會執行到一半而導致和其他資料不統一。Isolated是隔離性,其指的是事務之間是否能意識到對方的存在。這也取決於事務隔離的級別。所以隔離性本身是有自己的彈性在的。Durable永續性,表示資料儲存後會持續存在。

在這4大特性裡,資料庫的鎖只跟事務特性裡的隔離性有關。所謂事物之間是否能“意識”到對方的存在就是每個事務是否能對另一事務針對的資料做出更改。所以可不可以更改必然更所有關(鎖:一個讓資料不能被修改的功能)。