MySQL8查看和設置隔離級別

MySQL8中隔離級別的變量跟之前的版本不一樣,之前是tx_isolation,MySQL8改成了transaction_isolation。查看當前隔離級別的命令是

select @@global.transaction_isolation,@@transaction_isolation;

返回結果

+--------------------------------+-------------------------+
| @@global.transaction_isolation | @@transaction_isolation |
+--------------------------------+-------------------------+
| READ-COMMITTED                 | REPEATABLE-READ         |
+--------------------------------+-------------------------+
1 row in set (0.00 sec)

mysql的默認隔離級別是可重複讀,但其實對高併發業務來說,可重複讀並不是最合適的,最合適的是讀提交,主要是因爲MySQL 5.0之前,MySQL的主從複製在度提交這個隔離級別下是有bug的。

修改MySQL隔離級別命令:
修改全局隔離級別爲讀提交:

SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

修改會話隔離級別

SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

注:以上命令可大小寫混用

這裏要吐槽一下MySQL的命令,感覺比較混亂。比如查詢出來的隔離級別是兩個單詞用短橫線連接(READ-COMMITTED),但是設置的時候又是要把兩個單詞用空格分隔。風格很不統一。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章