一、 数据库事务管理隔离等级:
1.赃读取(dirty read)
一个事务读取了另一个并行事务未提交的数据。
2.不可重复读取(No-Repeatable Read)
一个事务再次读取之前曾读取过的数据时,发现数据已经被另一个已提交的事务所修改。
3.虚读(Phantom Reads)
一个事务执行同一个查询,返回一套符合查询条件的记录,但这些记录中包含了因为其他最近提交的事务而产生的记录。
二、 标准的SQL中定义的避免以上3种情况的发生的四种事务隔离等级:
1. Read UnCommitted :它仅仅能保证不会读取到非法数据。以上三种情形都可能发生,是最低级别的食物隔离等级。
2. Read Committed:该等级的事务隔离等级能避免“脏数据”的读取。
3. Repeatable Read:此级别的事务隔离可以避免“赃读取”,“不可重复读取”现象的出现。意味着:一个事物不可能更新已经由另一个事务读取但未提交(回滚)的数据。
4. Serializable:最高级别的隔离等级。以上三种情形都可以避免出现。(开销很大!)