1. 程式人生 > >資料庫事務的四個特性

資料庫事務的四個特性

  • 一.什麼是事務

    事務是應用程式中一系列邏輯相關的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性:一個事務中的一系列的操作要麼全部成功,要麼一個都不做。
    事務的結束有兩種,當事務中的所以步驟全部成功執行時,事務提交。如果其中一個步驟失敗,將發生回滾操作,撤消之前的所有操作。
    在mysql的執行引擎當中只有innoDB支援事務,可以通過 “show engines;”檢視。

  • 二.事務的 ACID

    事務具有四個特徵:原子性( Atomicity )、一致性( Consistency )、隔離性( Isolation )和永續性( Durability )。這四個特性簡稱為 ACID 特性。
    1 、原子性
    事務是資料庫的邏輯工作單位,不可分割,事務中包含的各操作要麼都做,要麼都不做
    2 、一致性
    事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。因此當資料庫只包含成功事務提交的結果時,就說資料庫處於一致性狀態。如果資料庫系統 執行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對資料庫所做的修改有一部分已寫入物理資料庫,這時資料庫就處於一種不正確的狀態,或者說是 不一致的狀態。
    3 、隔離性
    一個事務的執行不能其它事務干擾。即一個事務內部的操作及使用的資料對其它併發事務是隔離的,併發執行的各個事務之間不能互相干擾。 事務的隔離級別有4級,可以檢視這篇部落格,

    關於MySQL的事務處理及隔離級別
    4 、持續性
    也稱永久性,指一個事務一旦提交,它對資料庫中的資料的改變就應該是永久性的,不能回滾。接下來的其它操作或故障不應該對其執行結果有任何影響。