同乙個應用程式中的多個事務或不同應用程式中的多個事務在同乙個資料集上併發執行時, 可能會出現許多意外的問題,這些問題可分為如下三種型別:
根據實際需求,通過設定資料庫的事務隔離級別可以解決多個事務併發情況下出現的髒讀、不可重複讀和幻讀問題,資料庫事務隔離級別由低到高依次為read uncommitted、read committed
、repeatable read
和serializable
等四種。
mysql資料庫支援上面四種事務隔離級別,預設為repeatable read;mysql資料庫支援read uncommitted、read committed、repeatable read和serializable四種事務隔離級別,預設為repeatable read,可以通過如下語句檢視mysql資料庫事務隔離級別:
select @@global.tx_isolation,@@tx_isolation;
mysql資料庫事務隔離級別的修改分為全域性修改和當前session修改,具體修改方法如下:
1、全域性修改
#可選引數有:read-uncommitted, read-committed, repeatable-read, serializable.
[mysqld]
transaction-isolation = read-uncommitted
2、當前session修改,登入mysql資料庫後執行如下命令:
set session transaction isolation level read uncommitted;
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 可重複讀否...