mysql資料庫事務隔離級別與設定

2022-07-13 17:57:15 字數 1022 閱讀 1398

mysql資料庫,當且僅當引擎是innodb,才支援事務;

** 1、隔離級別

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

未提交讀

a事務已執行,但未提交;b事務查詢到a事務的更新後資料;a事務回滾;---出現髒資料

已提交讀

a事務執行更新;b事務查詢;a事務又執行更新;b事務再次查詢時,前後兩次資料不一致;---不可重複讀

可重複讀

a事務無論執行多少次,只要不提交,b事務查詢值都不變;b事務僅查詢b事務開始時那一瞬間的資料快照;

序列化不允許讀寫併發操作,寫執行時,讀必須等待;

2、資料庫設定

//檢視當前事物級別:

//設定mysql的隔離級別:

set session transaction isolation level 設定事務隔離級別

//設定read uncommitted級別:

set session transaction isolation level read uncommitted;

//設定read committed級別:

set session transaction isolation level read committed;

//設定repeatable read級別:

set session transaction isolation level repeatable read;

//設定serializable級別:

set session transaction isolation level serializable;

mysql資料庫事務隔離級別

1修改事務隔離級別 全域性修改 修改mysql.ini配置檔案 mysqlid transaction isolation repeatble read 對當前session修改 登入mysql客戶端後,執行命令set session transaction isolation level read...

MYSQL 資料庫 事務 隔離級別

定義 在資料庫 中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別,由低到高依次為 1 read uncommitted 未授權讀取 讀未提交 2 read committed 授權讀取 讀提交 3 repeatable read 可重複讀取 4 serializable 序列化 這四個事務隔...

MySQL資料庫事務隔離級別

一 資料庫事務併發訪問引發的問題 二 mysql資料庫的四種事務隔離級別 隔離級別 名稱髒讀 不可重複讀 幻讀資料庫預設級別 read uncommitted 讀未提交是是 是read committed 讀已提交否是 是oracle sql server repeatable read 可重複讀否...