MySQL

隔离级别设在哪一层:GLOBAL、SESSION、TRANSACTION

隔离级别属于一笔事务,不能写在某条 SELECT 上。改它的三种写法,影响范围不同:

sql
SET GLOBAL  TRANSACTION ISOLATION LEVEL READ COMMITTED;  -- 之后新建的连接
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;  -- 本连接之后的事务
SET         TRANSACTION ISOLATION LEVEL READ COMMITTED;  -- 本连接的下一笔事务

已经开始的事务改不了。

不同连接用不同级别也不冲突。隔离级别只管自己的普通 SELECT 读到哪一版,不管锁:改同一行照样排队,和对方是什么级别无关。

esc