一.什麼是事務
事務是應用程式中一系列邏輯相關的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性:乙個事務中的一系列的操作要麼全部成功,要麼乙個都不做。
事務的結束有兩種,當事務中的所以步驟全部成功執行時,事務提交。如果其中乙個步驟失敗,將發生回滾操作,撤消之前的所有操作。
在mysql的執行引擎當中只有innodb支援事務,可以通過 「show engines;」檢視。
二.事務的 acid
事務具有四個特徵:原子性( atomicity )、一致性( consistency )、隔離性( isolation )和永續性( durability )。這四個特性簡稱為 acid 特性。
1 、原子性
事務是資料庫的邏輯工作單位,不可分割,事務中包含的各操作要麼都做,要麼都不做
2 、一致性
事務執行的結果必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。因此當資料庫只包含成功事務提交的結果時,就說資料庫處於一致性狀態。如果資料庫系統 執行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對資料庫所做的修改有一部分已寫入物理資料庫,這時資料庫就處於一種不正確的狀態,或者說是 不一致的狀態。
3 、隔離性
乙個事務的執行不能其它事務干擾。即乙個事務內部的操作及使用的資料對其它併發事務是隔離的,併發執行的各個事務之間不能互相干擾。 事務的隔離級別有4級,可以檢視這篇部落格,關於mysql的事務處理及隔離級別
4 、持續性
也稱永久性,指乙個事務一旦提交,它對資料庫中的資料的改變就應該是永久性的,不能回滾。接下來的其它操作或故障不應該對其執行結果有任何影響。
資料庫事務特性
事務 transaction 是資料庫系統中 系統操作的乙個邏輯單元,所有的操作要麼全部成功,要麼全部失敗。事務是區分檔案儲存系統和nosql資料庫的重要特性之一,且存在的意義是為了保證即使在併發情況下也能正確的執行crud操作。事務需要保證的四個特性 a 原子性 atomicity 乙個事務 tr...
資料庫事務的特性
事務的 原子性 一致性 分離性 永續性 1 原子性 事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修改操作要麼全部執行,要麼完全不執行。這種特性稱為原子性。事務的原子性要求,如果把乙個事務可看作是乙個程式,它要麼完整的被執行,要麼完全不執行。就是說事務的操縱序列或者完全...
資料庫 事務的特性
事務是指對系統進行的一組操作,為了保證系統的完整性,事務需要具有acid特性,具體如下 1.原子性 atomic 乙個事務包含多個操作,這些操作要麼全部執行,要麼全都不執行。實現事務的原子性,要支援回滾操作,在某個操作失敗後,回滾到事務執行之前的狀態。回滾實際上是乙個比較高層抽象的概念,大多數db在...