MySQL事務 特性 隔離級別

2021-10-05 23:33:28 字數 852 閱讀 9215

簡單來說事務就是要麼全都成功,要麼全部失敗的一組語句

事務的四種隔離級別:讀未提交(read committed)、讀已提交(read uncommitted)、可重複讀(repeatable read)、可序列化(serializable)

1.讀未提交:兩個事務同時操作乙個表,其中乙個事務修改了表中的資料並提交,另外乙個事務資料在提交的前後都可以檢視資料的更改,這個問題被稱為髒讀,解決髒讀的方法就是將隔離級別變成讀已提交

2.讀已提交:同樣是兩個事務操作乙個表,其中乙個事務修改了資料並提交資料,但是另外乙個事務只有在提交之後,才能看這個資料是否被修改,解決了髒讀的問題,但是又出現了乙個事務範圍內,兩個相同的查詢卻返回了不同的結果,就是不可重複讀問題

3.可重複讀:在開始查詢的時候,不在允許事務修改,只有當我的查詢結束,提交之後,才可以看到別的事務修改的結果,但是這個時候我已經把自己的事情完成了,但是這個如果針對的是update和delete,不針對insert,就產生了幻讀問題

4.可序列化:可以解決髒讀、不可重複讀、幻讀問題,但是效率低下,一般不使用

mysql事務的特性:原子性、一致性、隔離性、永續性

1.原子性:事務是應用中最小的執行單位,不可再分

2.一致性:事務的狀態只能由乙個一致性到達另外乙個一致性,那怕中間系統中斷,也會一致

3.隔離性:各個事務的執行互不干擾

4.永續性:事務一旦提交,就會永久儲存在資料庫中

Mysql 事務特性和隔離級別

事務的特性乙個事務 transaction 中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被回滾 rollback 到事務開始前的狀態,就像這個事務從來沒有執行過一樣。在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。這表示寫入的資料必須完全符...

mysql隔離級別 MySQL 事務隔離級別

mysql innodb所提供的事務滿足acid的要求,事務是通過事務日誌中的redo log和undo log來實現原子性 undo log 一致性 undo log 永續性 redo log 事務通過鎖機制實現隔離性。1 事務隔離級別與實現read uncommitted 讀未提交 read c...

mysql的事務特性和隔離級別

acid特性 a atomicity原子性 整個事務中的所有操作要麼全部成功執行,要麼全部失敗後回滾 c consistency一致性 資料庫總是從乙個一致性狀態轉換為另乙個一致性狀態 i isolation隔離性 乙個事務所做出的操作在提交之前,是不能為其它事務所見 隔離有多種隔 離級別,實現併發...