資料庫 ACID及事務隔離級別

2021-09-11 06:03:34 字數 607 閱讀 7664

事務:併發控制和恢復的基本單位。

atomicity原子性:事務是資料庫的邏輯工作單位,事務中包括的所有操作要麼都做,要麼什麼都不做。

consistency一致性:事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。例如對銀行轉帳事務,不管事務成功還是失敗,應該保證事務結束後accounts表中tom和jack的存款總額為2000元。。

isolation 隔離性:併發的事務相互隔離,不能互相干擾

durability永續性:乙個事務一旦提交,他對資料庫的修改就應該時永久性的,即便系統故障也不會丟失。

innodb引擎預設的隔離級別是 可重複讀。

隔離級別:

讀未提交(read uncommited):會出現髒讀,幻讀

已提交讀(read committed):不會出現髒讀、幻讀

可重複讀:(repeatable read):不會出現髒讀,不會出現幻讀

序列化:所有事務只能乙個接乙個序列執行,不能併發。讀需要獲得表級共享鎖,讀寫相互都會阻塞。

問題:

資料庫的事務 ACID及隔離級別

所謂事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做,要麼不做,是乙個不可分割的工作單位。例如,在關聯式資料庫中,一條或一組sql語句 整個程式都可以是乙個事務。事務和程式是兩個概念,乙個程式中可以有多個事務。在sql中,事務定義的三條語句 begin transaction 開始 commi...

資料庫事務ACID特性及隔離級別

資料庫acid特性介紹 1 原子性 atomic 乙個事務被視為乙個不可分割的最小工作單元,這個事務裡的所有操作要麼全部成功執行,要麼全都不執行,不能只執行其中的一部分操作。實現事務的原子性,要支援回滾操作,在某個操作失敗後,回滾到事務執行之前的狀態。回滾是乙個抽象概念,大多數資料庫在實現事務時是在...

資料庫(一) ACID,事務,隔離級別

事務 transaction 最簡單的理解就是多個對資料庫操作的有序組合。舉例來說,多個順序執行的sql語句就構成了乙個事務。在現實中,對於資料庫的資料操作,基本以事務為基本單位。最常見的例子,轉賬時,a賬戶扣掉100,b賬戶增加100,這些操作,都是需要至少兩個以上的sql語句來完成的。從資料庫操...