posts - 0, comments - 0, trackbacks - 0, articles - 7

事务隔离级别

Posted on 2011-10-13 14:51 小康 阅读(111) 评论(0)  编辑  收藏 所属分类: database
关系数据库标准中有四个事务隔离级别:
  • 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据
  • 提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别
  • 可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读
  • 串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞


MySQL中的事务隔离级别(默认为REPEATED-READ)
查看:
select @@tx_isolation;
select @@global.tx_isolation;

修改:
set global transaction isolation level read committed;
set session transaction isolation level read committed;


http://blog.csdn.net/iyfd1979/article/details/6400118
MySQL InnoDB之事务与锁详解 http://www.mysqlops.com/2011/02/16/mysql-innodb-lock.html