1. 程式人生 > >資料庫事務和隔離級別

資料庫事務和隔離級別

資料庫事物是指單個邏輯工作單元的一系列操作,要麼完全執行,要麼完全不執行。事物隔離保證了在併發操作過程中互相

干擾,同時,事物提供了從錯誤中恢復的方法。

事物有四個特性:原子性、一致性、隔離性、永續性。

髒讀:指一個事物A讀取到另一個事物B尚未提交的資料。若事物B回退,則A讀取了無效資料。

幻讀:事物A查詢記錄後,事物B插入或刪除了記錄,事物A再次查詢,發現兩次查詢結果不一致。

不可重複讀:事物A查詢了一條記錄後,事物B將此記錄修改了,事物A無法再次讀取上一次讀取的記錄。

資料庫事物的四個隔離級別:Read uncommitted、Read Committed、Repeatable Read、serializable。

四個隔離級別可以解決的問題如下表:

√: 可能出現    ×: 不會出現
                                髒讀     不可重複讀     幻讀
Read uncommitted     √              √               √
Read committed         ×             √                √
Repeatable read         ×             ×                √
Serializable                 ×             ×                ×