MySQL設定隔離級別
SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}
設定innodb的事務級別方法是:set 作用域 transaction isolation level 事務隔離級別,例如~
mysql> set global transaction isolation level read committed; //全域性的
mysql> set session transaction isolation level read committed; //當前會話
1.全域性修改,修改mysql.ini配置檔案,在最後加上
#可選引數有:READ-UNCOMMITTED,
READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
[mysqld]
transaction-isolation
= REPEATABLE-READ
這裡全域性預設是REPEATABLE-READ,其實MySQL本來預設也是這個級別
二個或以上事務在操作同一個共享記錄集時,可能會出現的問題:
(A)髒讀 (B)不可重複讀 (C)幻讀
隔離級別:
(1)read-uncommit, (2)read-commit, (3)read-repeatable, (4)read-serializable
都是用來阻止上面的問題的,其中:
(1)什麼都阻止不了。
(2)阻止(A)
(3)阻止(A)(B)
(4)阻止(A)(B)(C)
(1)->(4)隔離級別越高,效能損失越大
注意:預設的行為(不帶session和global)是為下一個(未開始)事務設定隔離級別。如果你使用GLOBAL關鍵字,語句在全域性對從那點開始建立的所有新連線(除了不存在的連線)設定預設事務級別。你需要SUPER許可權來做這個。使用SESSION 關鍵字為將來在當前連線上執行的事務設定預設事務級別。 任何客戶端都能自由改變會話隔離級別(甚至在事務的中間),或者為下一個事務設定隔離級別。
你可以用下列語句查詢全域性和會話事務隔離級別:
SELECT @@global.tx_isolation;
SELECT @@session.tx_isolation;
SELECT @@tx_isolation;
網上有人使用set tx_isolation命令:
mysql> set tx_isolation='read-committed';
Query OK, 0 rows affected (0.00 sec)
+----------------+
| @@tx_isolation |
+----------------+
| READ-COMMITTED |
+----------------+
1 row in set (0.00 sec)
mysql> select @@session.tx_isolation;
+------------------------+
| @@session.tx_isolation |
+------------------------+
| READ-COMMITTED |
+------------------------+
1 row in set (0.00 sec)
事務隔離變了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29893219/viewspace-1851543/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 隔離級別MySql
- Mysql的隔離級別MySql
- Linux命令:MySQL系列之九–MySQL隔離級別及設定薦LinuxMySql
- MySQL 事務隔離級別MySql
- MySQL入門--隔離級別MySql
- MySQL事務隔離級別MySql
- [golang]MySQL中如何為單個事務設定隔離級別GolangMySql
- MySQL事務的隔離級別MySql
- MySQL的事務隔離級別MySql
- 理解MySQL事務隔離級別MySql
- MySQL 的隔離級別 自理解MySql
- mysql修改事務隔離級別MySql
- MySQL 5.5 隔離級別測試MySql
- MySQL事務隔離級別和MVCCMySqlMVC
- mysql如何修改事務隔離級別MySql
- mysql事務隔離級別和鎖MySql
- 啥是 MySQL 事務隔離級別?MySql
- Mysql 四種事務隔離級別MySql
- 淺析MySQL InnoDB的隔離級別MySql
- Mysql資料庫的隔離級別MySql資料庫
- Mysql鎖與事務隔離級別MySql
- MySQL之事務隔離級別和MVCCMySqlMVC
- 理解mysql的事務隔離級別MySql
- MySQL事務隔離級別詳解MySql
- 【MySQL】MySQL的四種事務隔離級別MySql
- 設定transaction的讀寫屬性與隔離級別
- MySQL 的四種事務隔離級別MySql
- MySQL 事務的隔離級別初窺MySql
- MySQL的四種事務隔離級別MySql
- ORACLE的隔離級別Oracle
- 徹底搞懂 MySQL 事務的隔離級別MySql
- MySQL的事務隔離級別是什麼?MySql
- MySQL 事務隔離級別解析和實戰MySql
- 面試問爛的 MySQL 四種隔離級別面試MySql
- 四個案例看懂 MySQL 事務隔離級別MySql
- Mysql事務隔離級別與鎖機制MySql
- MySQL的事務處理及隔離級別MySql
- MySQL事務隔離級別的實現原理MySql