mysql的事物

來源:互聯網
上載者:User

標籤:style   io   strong   資料   sp   問題   c   on   r   

  所謂的事物就是一組原子性的SQL語句,或者說是一個獨立的工作單元。

  1、事物擁有四大特徵:

 

    ①原子性(atomicity):一個事物必須被分為一個不可分割的的最小單元,整個事物中的所有操作要麼全部提交,要麼全部復原,這就是事物的原子性。

 

    ②一致性(consistency):資料庫總是從一個一致性的狀態轉換到另一個一致性的狀態。即資料庫事物不能破壞資料的完整性和一致性。

 

    ③隔離性(isolation):指的是在並發環境中,多個事物處理相同的資料,每個事物都有各自的完整資料空間。

 

    ④持久性(durability):一旦事物提交,則其所做的修改就會永久儲存到資料庫中。

 

    事物的原子性、一致性、持久性三個特徵是通過事物日誌來維持的,事物日誌記錄了對事物的每次的更新,如果因為某些原因事物出現錯誤,則可以通過撤銷事物對資料庫  的更改,是事物復原到資料庫執行事物之前的初始狀態。

 

   事物的隔離性是通過鎖機構來實現的,擁有各自的獨立空間。

 

  2、事物的隔離等級

 

    SQL標準定義了四種隔離等級:

 

    無提交讀(Read Uncommitted):在Read Uncommitted層級中,事物的修改,即使沒有提交,對其他事物也是可見的。事物可以讀取未提交的資料,這也被稱為髒讀(Dirty Read).

 

    提交讀(Read Committed):一個事物從開始知道事物提交之前,所做的任何修改對其他事物都是不可見的,這也叫不可重複讀取(nonrepeatable),執行兩次相同的查詢,得到不同的結果。

 

    可重複讀(Repeatable Read):該層級保證了同一個事物中多次讀取同樣的結果是一致的。可能會導致幻讀。

 

    可序列化(Serializable):最高的隔離等級。通過強制事物串列執行,避免了前面說的幻讀的問題。

 

mysql的事物

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.