mysql事務隔離級別及幻讀

2021-09-05 11:50:37 字數 902 閱讀 8084

一、事務的基本特性(acid)

1.原子性(atomicity):事務中的所有操作要麼全部生效,要麼全部不生效。事務如果執行過程中報錯,會將所有的操作回滾。也就是事務中的所有操作是乙個整體,就像化學中學過的院子,是構成物質的基本單位。

2.一致性(consistency):事務開始前和事務結束後,資料處於一致性狀態。這個一致性,是指邏輯上的一致性。比如a轉賬給b,事務在執行過程中資料可能在不一致的狀態,但是執行完成後。a和b的賬戶餘額,加起來是和事務執行前一樣的。

3.隔離性(isolation):多個事務併發處理資料時,理論上應當互不影響,相互隔離。

4.永續性(druability):事務提交後,對資料庫的更新會永久儲存下來。

二、事務的隔離級別

檢視事務的隔離級別:select @@tx_isolation;

1.讀未提交(read-uncommitted)

乙個事務可以讀取另乙個事務未提交的資料。這種隔離級別會出現髒讀

2.讀已提交(read-committed)

乙個事務可以讀取另乙個事務已提交的資料。這種隔離級別會出現不可重複讀

3.可重複讀(repeatable-read)

同乙個事務同樣的查詢,在事務中任何時刻查詢查詢結果一致。這種隔離界別會出現幻讀

MySQL隔離級別(幻讀)

mysql 事務的基本了解 acid 1 事務的概念 什麼是事務呢?事務是指單個邏輯單元完成一些列操作,它要麼全部執行成功,要麼就失敗。事務處理可確保只有事務單元的操作。否則就不會擁有永久面向資料的更新資源,乙個邏輯工作單元要想成為事務,那麼他就必須要擁有事務的特性。2 事務的用途 事務主要處理大量...

mysql事務隔離級別幻讀的解釋

不可重複度和幻讀區別 不可重複讀的重點是修改,幻讀的重點在於新增或者刪除。例1 同樣的條件,你讀取過的資料,再次讀取出來發現值不一樣了 事務1中的a先生讀取自己的工資為 1000的操作還沒完成,事務2中的b先生就修改了a的工資為2000,導 致a再讀自己的工資時工資變為 2000 這就是不可重複讀。...

事務隔離髒讀幻讀 mysql

先說什麼叫做 事務隔離 事務隔離是指多個事務同時在進行中 如果只有乙個事務,那就無所謂隔離不隔離了 時,各個事務被隔離開來,相互之間的影響和事物的隔離級別有關,按照 讀未提交 讀已提交 可重複讀 序列化 的順序,越往後面隔離級別越高,事務之間的影響越小。下面的內容都以這個資料表為例進行說明 idmo...