MySQL -- 事務(wù)

概念:事務(wù)就是一原子性的SQL查詢,或者說一個獨(dú)立的工作單元

如果數(shù)據(jù)庫引擎能成功地對數(shù)據(jù)庫應(yīng)用該組查詢的全部語句,那么就執(zhí)行該組查詢,如果其中有任何一條語句因?yàn)楸罎⒒蚱渌驘o法執(zhí)行,那么所有的語句都不會執(zhí)行,也就是說,事務(wù)內(nèi)的語句,要么全部執(zhí)行成功,要么全部失敗。

示例:銀行轉(zhuǎn)帳

  1. 檢查A帳戶中余額高于200美元
  2. 從A帳戶中減去200美元
  3. 在B帳戶中增加200美元

上述三個操作必須打包在一個事務(wù)中,任何一個步驟失敗,則必須回滾所有的步驟。

ACID測試

  • A(atomictiy) 原子性 :一個事務(wù)必須被視為一個不可分割的最小工作單元,整個事務(wù)中的所有操作要么全部提交成功,要么全部失敗回滾,對于一個事務(wù)來說,不可能只執(zhí)行其中的一部分操作,這就是事務(wù)的原子性。
  • C(consistency) 一致性:數(shù)據(jù)庫總是從一個一致性狀態(tài)轉(zhuǎn)換到另一個一致性狀態(tài)。所做的修改需要提交才會保存到數(shù)據(jù)庫中
  • I(isolation) 隔離性:通常來說,一個事務(wù)所做的修改在最終提交以前,對其他事務(wù)是不可見的。
  • D(durability) 持久性:一旦事務(wù)提交,則其所做的修改就會永久保存到數(shù)據(jù)庫中,此時即使系統(tǒng)崩潰,修改的數(shù)據(jù)也不會丟失。

參考資料: 高性能MySQL》1.2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容