数据库之脏读、不可重读和幻读

一、解释

1.脏读:一个事务读到另外一个事务还没有提交的数据,我们称之为脏读。

2.不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,我们称之为不可重复读。

3.幻象读:一个事务先后读取一个范围的记录,但两次读取的纪录数不同,我们称之为幻象读(两次执行同一条 select 语句会出现不同的结果,第二次读会增加一数据行,并没有说这两次执行是在同一个事务中)。

二、事务的隔离级别

从级别低到高依次为:

 

READ UNCOMMITTED 幻像读、不可重复读和脏读都允许。

READ COMMITTED 允许幻像读、不可重复读,但不允许脏读。

REPEATABLE READ 允许幻像读,但不允许不可重复读和脏读。InnoDB默认级别

SERIALIZABLE 幻像读、不可重复读和脏读都不允许。

 

引用于:http://blog.csdn.net/jiesa/article/details/49612687

猜你喜欢

转载自chenghao666.iteye.com/blog/2405439