mysql 隔離級別

Mysql 查看及設置事物隔離級別

查詢隔離級別

select @@global.tx_isolation,@@tx_isolation;mysql

修改隔離級別

set global tx_isolation='read-uncommitted';sql

1.全局修改,修改mysql.ini配置文件,在最後加上session

1 #可選參數有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE. 2 [mysqld] 3 transaction-isolation = REPEATABLE-READ 這裏全局默認是REPEATABLE-READ,其實MySQL原本默認也是這個級別ui

2.對當前session修改,在登陸mysql客戶端後,執行命令:.net

set session transaction isolation level read uncommitted;blog

要記住mysql有一個autocommit參數,默認是on,他的做用是每一條單獨的查詢都是一個事務,而且自動開始,自動提交(執行完之後就自動結束了,若是你要適用select for update,而不手動調用 start transaction,這個for update的行鎖機制等於沒用,由於行鎖在自動提交後就釋放了),因此事務隔離級別和鎖機制即便你不顯式調用start transaction,這種機制在單獨的一條查詢語句中也是適用的,分析鎖的運做的時候必定要注意這一點事務

mysql 設置超時時間

SHOW GLOBAL VARIABLES LIKE '%timeout%' SET GLOBAL wait_timeout=10000get

可重複讀: 不少文章裏都說 RR 級別是事務開啓時就不容許其餘事務修改活動記錄了,其實並無阻塞,T1讀取A記錄,此時T1也開啓了持續讀A記錄,T2此時是能夠修改A記錄並提交的,但T1是讀取不到T2的提交後的結果的,只有T1提交後再開啓新事務,當前會話才能讀取到T2的結果it

ref-> http://www.javashuo.com/article/p-ehczcmbm-dw.html https://blog.csdn.net/hjl_168562/article/details/17488055 https://blog.csdn.net/bluishglc/article/details/5626009io

相關文章
相關標籤/搜索