事務隔離級別
sql 標準定義了四個隔離級別
隔離級別isolationlevel
隔離級別isolationlevel
髒寫dirtywrite
髒讀dirtyread
不可重複讀fuzzyread
幻讀phantom
解釋
讀未提交read-uncommitted
×
√√√
最低的隔離級別
,允許讀取尚未提交的資料變更,可能會導致髒讀、幻讀或不可重複讀
讀已提交read-committed
×
×
√
√允許讀取併發事務已經提交的資料,可以阻止髒讀,但是幻讀或不可重複讀仍有可能發生
可重複讀repeatable-read
×
×
×
√
對同一欄位的多次讀取結果都是一致的,除非資料是被本身事務自己所修改,可以阻止髒讀和不可重複讀,但幻讀仍有可能發生
序列化serializable
×
×
×
×
最高的隔離級別
,完全服從acid的隔離級別。所有的事務依次逐個執行,這樣事務之間就完全不可能產生干擾,也就是說,該級別可以防止髒讀、不可重複讀以及幻讀。
mysql innodb 儲存引擎的預設支援的隔離級別是repeatable-read
(可重複讀), 我們可以通過命令來檢視。
檢視全域性 事務隔離級別
select @@global.tx_isolation;+
-----------------------+
| @@global.tx_isolation|+
-----------------------+
|repeatable
-read|+
-----------------------+
1row
inset
(0.01 sec)
檢視會話級別 事務隔離級別select @@tx_isolation;+
-----------------+
| @@tx_isolation|+
-----------------+
|repeatable
-read|+
-----------------+
1row
inset
(0.00 sec)
設定全域性 事務隔離級別set
global
transaction
isolation
level
repeatable
read
;execute success (
0.01 sec)
設定會話級別 事務隔離級別set
transaction
isolation
level
repeatable
read
;execute success (
0.01 sec)
mysql隔離級別 MySQL 事務隔離級別
mysql innodb所提供的事務滿足acid的要求,事務是通過事務日誌中的redo log和undo log來實現原子性 undo log 一致性 undo log 永續性 redo log 事務通過鎖機制實現隔離性。1 事務隔離級別與實現read uncommitted 讀未提交 read c...
MySQL事務隔離級別
sql標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低階別的隔離級一般支援更高的 併發處理,並擁有更低的系統開銷。read uncommitted 讀取未提交內容 在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,...
Mysql 事務隔離級別
mysql 5.5預設儲存引擎 表型別 使用的是innodb,它是支援acid特性的 acid,指資料庫的原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 乙個支援事務 transaction 的資料庫系統,必需要具有這四種特性,否...