事务的4中隔离级别
- Read uncommitted
- Read committed
- Repeatable read
- Serializable
Read uncommitted
- A写了数据,还没commit,B可以读
- A回滚了,B读出来的数据就是脏数据
- 一般不用
Read committed
- 在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修改了这个数据,那么,在第一个事务中,两次读取的数据就可能不一致。
- 只针对Update
- 大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。
Repeatable read
- 在一个事务中,第一次查询某条记录,发现没有,但是,当试图更新这条不存在的记录时,竟然能成功,并且,再次读取同一条记录,它就神奇地出现了。
- 只针对Insert
- Mysql默认的事务隔离级别是Repeatable read。
Serializable
- 所有操作顺序执行,效率低下一般不用。