原文:https://dev.mysql.com/doc/refman/5.0/en/set-transaction.html
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL { REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED | SERIALIZABLE }
Scope of the Isolation Level
You can set the isolation level globally, for the current session, or for the next transaction:
-
With the
GLOBAL
keyword, the statement sets the default transaction level globally for all subsequent sessions. Existing sessions are unaffected. -
With the
SESSION
keyword, the statement sets the default transaction level for all subsequent transactions performed within the current session. -
Without any
SESSION
orGLOBAL
keyword, the statement sets the isolation level for the next (not started) transaction performed within the current session.
A change to the global default isolation level requires the SUPER
privilege. Any session is free to change its session isolation level (even in the middle of a transaction), or the isolation level for its next transaction.
除了上面的方法,也可以通过tx_isolation变量来改变隔离级别;
SELECT @@GLOBAL.tx_isolation, @@tx_isolation; SET GLOBAL tx_isolation='REPEATABLE-READ'; SET SESSION tx_isolation='SERIALIZABLE';
另外推荐播客 http://mysqllover.com/?p=57