十:MYSQL中的事務

來源:互聯網
上載者:User

標籤:tab   inno   引擎   2.3   多少   需要   一致性   嚴格   規則   

前言:

  因為沒有多少時間和精力,目前無法深入研究資料庫中的事務,比如

  但是,對於事務的一些基本知識,還是需要牢牢掌握的,做到瞭解事務的基本常識,在實際開發中能夠理解各個持久層架構對事務的處理

一:是麼是事務?

  下面是百度百科的結果

   

    在開發中對於一個商務邏輯需要對資料進行的一系列CRUD操作,這一系列操作,我們可以把它稱為一個事務

    這樣理解事務就必須瞭解事務四大特性:原子性 、一致性、隔離性、持久性

二:事務的四大特性--ACID  2.1:原子性

    在一個事務中對資料的所有操作,屬於一個單元,不可分割,只有成功或者失敗,不可能某個操作成功某個操作失敗

  2.2:一致性

    事務前後,資料的一致性,在既定規則下的交易處理過程中,必須嚴格按照既定規則操作資料,不可破壞規則

    維護資料的一致性任務應該由程式員來完成

    比如資料修改前為 10.00 修改完後變成了 5.5 滿足一致性應該為5.50(這是我自己的理解)

  2.3:隔離性

    體現在並發事務情況下,多個事務互相隔離,互不影響

  2.4:持久性

    在正確提交事務後,對資料的修改將是永久性的

三:事務的隔離等級

  體現在並發事務中的讀的操作

  事務有四個隔離等級:READ-UNCOMMITTED 、  READ COMMITTED、 REPEATABLE READ 、 SERIALIZABLE

  3.1:髒讀

    在事務A中讀取到事務B修改了但是未提交的資料

  3.2:不可重複讀取

    解決了髒讀,但是在事務A中可以讀取到事務B提交後的資料(導致在事務A中多次執行相同的讀的操作的結果不同)

  3.3:可重複讀

    解決了不可重複讀取,但是事務B在提交事務前後分別執行讀相同操作讀取資料,發現前後結果不一樣,好像之前讀到的資料是一個幻象

  3.4:序列化四:事務的分類

  4.1:扁平事務(FLAT TRANSACTION)

  4.2:帶有儲存點的扁平事務(FLAT TRANSACTION WITH SAVPOINTS)

  4.3:鏈式事務(Chained TRANSACTION)

  4.4:嵌套事務(Nested Transaction) InnoDB不支援

  4.5:分散式交易(Distributed Transaction)

五:MYSQL中的事務

  innoDB是MYSQL資料庫的預設儲存引擎,支援事務操作

  本來想自己親手測試一下,不同交易隔離等級對資料讀取的影響,想想還是算了吧,瞭解了就可以了

  MYSQL預設交易隔離等級是REPEATABLE READ---可重複讀

  

 

十: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.