事務的隔離級別

2022-02-14 19:23:06 字數 961 閱讀 9753

1

.ru級別:read uncommitted(未提交讀),允許事務檢視其他事務所進行的未提交更改

2.rc級別:read committed,允許事務檢視其他事務所進行的已提交更改

3.rr級別:repeatable read,允許事務檢視其他事務所進行的已提交更改,需要重新登入資料庫才能檢視到提交的資料

4.序列化:serializable,將乙個事務的結果與其他事務完全隔離

#1

.髒讀:

執行乙個事務,還沒有提交就被讀取,可是事務回滾了,那麼之前讀到的資料就是髒資料#2

.幻讀:

當刪除一條資料時,剛刪除,有別人插入同一條資料,我檢視時以為是沒有刪除#3

.不可重複讀

第一次讀取資料和第二次讀取資料之間資料被別人修改了,導致第一次讀取的資料與第二次讀取的資料不同

#1

.檢視隔離級別

mysql> show variables like '

%iso%';

+---------------+-----------------+

| variable_name | value |

+---------------+-----------------+

| tx_isolation | repeatable-read |

+---------------+-----------------+

1 row in

set (0.00

sec)#2

.設定資料庫為ru級別

[root@db01 ~]# vim /etc/my.cnf

[mysqld]

transaction_isolation=read-uncommit

#transaction_isolation=read-commit

事務的隔離級別舉例 事務的隔離級別

乙個事務是乙個完整的業務邏輯單元,不能再分,要麼全部執行成功,要麼全部失敗。比如 a給b轉賬100元,a的銀行卡就會少100元,b的銀行卡就會多100元,整個過程要麼全部執行成功,要麼全部失敗。a 原子性。事務是最小的業務邏輯單元。b 一致性。乙個事務必須保證多條dml語句同時成功或失敗。c 隔離性...

事務的隔離級別舉例 JDBC 事務隔離級別

本文總結了 jdbc 事務隔離級別。事務隔離級別定義了在乙個事務中,哪些資料是對當前執行的語句 可見 的。在併發訪問資料庫時,事務隔離級別定義了多個事務之間對於同個目標資料來源訪問時的可交叉程度。可交叉程度可分為以下幾類。可交叉程度 dirty reads 髒讀 當乙個事務能看見另外乙個事務未提交的...

事務的隔離級別舉例 JDBC事務隔離級別

一組要麼同時執行成功,要麼同時執行失敗的sql語句。是資料庫操作的乙個執行單元。斷開與資料庫的連線 表示乙個事務內的所有操作是乙個整體,要麼全部成功,要麼全部失敗 表示乙個事務內有乙個操作失敗時,所有的更改過的資料都必須回滾到修改前狀態 事務檢視資料時資料所處的狀態,要麼是另一併發事務修改它之前的狀...