本文主要基於《高效能mysql》mysql提供了四種隔離級別:
這裡需要知道不可重複讀和幻讀的區別:不可重複讀針對的是記錄的值不同,幻讀指的是資料條數的不同。
可以通過命令set session|global transaction isolation level設定會話的隔離級別,比如設定可重複讀:
--設定當前會話的隔離級別
setsession
transaction
isolation
level
repeatable
read
;--設定全域性事務的隔離級別
setglobal
transaction
isolation
level
repeatable
read
;
還可以通過修改mysql的配置檔案設定隔離級別:
transaction
-isolation
=repeatable
-read
如果想要檢視當前的隔離級別可以通過執行命令:
show variables like
'%tx_isolation%';或
select @@tx_isolation
;
MySQL系列 事務隔離級別
序號 隔離級別 設定命令 查詢隔離級別 1讀未提交 read uncommitted 讀取未提交 持久化 的資料 set session transaction isolation level read uncommitted 2讀已提交 read committed 讀取已隱式提交 持久化 的資料...
mysql隔離級別 MySQL 事務隔離級別
mysql innodb所提供的事務滿足acid的要求,事務是通過事務日誌中的redo log和undo log來實現原子性 undo log 一致性 undo log 永續性 redo log 事務通過鎖機制實現隔離性。1 事務隔離級別與實現read uncommitted 讀未提交 read c...
mysql隔離級別驗證 mysql 隔離級別測試
1 設定隔離級別,包括 全域性 global.tx isolation,會話級別 session.tx isolation mysql workbench的會話 2 建立測試表 注意 unsigned auto increment primary key用法 預設引擎的設定 建立測試表 use te...