mysql事务隔离级别分为四种:Read Uncommitted    读取未提交内容   另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。

                                            Read Committed        读取提交内容   本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同的结果(不重复读)。

                                            Repeatable Read         可重读 在同一个事务里,SELECT的结果是事务开始时时间点的状态,因此,同样的SELECT操作读到的结果会是一致的。

                                            Serializable                   可串行化  读操作会隐式获取共享锁,可以保证不同事务间的互斥。

mysql 事务隔离级别


查看当前事务级别:show variables like '%tx_isolation%';

查看全局事务隔离级别:show global variables like '%tx_isolation%';

设置事务的隔离级别:

  1. set session transaction isolation level read uncommitted;        
  2. set session transaction isolation level read committed;        
  3. set session transaction isolation level REPEATABLE READ;     
  4. set session transaction isolation level SERIALIZABLE;  

相关文章: