首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

資料庫交易(Transaction)核心概念與 ACID 四大特性

     編輯:MySQL 資料庫相關知識

什麼是資料庫交易?

交易是由一系列操作組成的執行單位,這些操作要麼全做,要麼全不做,是不可分割的工作單位(All or Nothing)。

ACID 四大特性

特性英文說明範例
原子性Atomicity交易中所有操作視為不可分割整體,成功提交或完全回滾。轉帳:扣款與入帳必須同時成功。
一致性Consistency交易前後資料庫皆處於一致狀態,不違反完整性約束。轉帳總金額不變,不會憑空產生或消失金錢。
隔離性Isolation並發交易互不干擾,效果等同串行執行。兩筆轉帳同時進行,不會讀到中間狀態。
持久性Durability交易一旦提交,對資料的修改永久生效,不因系統故障遺失。斷電重啟後,已提交的轉帳記錄仍在。

實務啟示

  • 交易邊界要明確:BEGIN / COMMIT / ROLLBACK。
  • 長交易會增加鎖競爭,盡量縮短交易範圍。
  • 隔離級別(READ UNCOMMITTED ~ SERIALIZABLE)影響並發效能與一致性,需按業務選擇。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved