mysql事物隔离

1、读未提交(行锁)

会发生脏读,事物未提交被其他事物看到,未提交的数据为脏数据。

2、读已提交(行锁)

会发生不可重复读,事物开始时,只能看到已经提交了的事物修改。

3、重复读(行锁)

该级别保证了同一事务中多次读取到的同样记录的结果是一致的,但无法解决幻读现象。

4、序列化(表锁)

表锁级别,读也会阻塞。只有前一事物完成才会执行下一个事物。

不可重复读和幻读的却别在于:

不可重复读重在uodate和delete,而幻读重在insert。

mysql在3级别解决了幻读的现象,是由于采取了一种next-key的锁。

三种锁:间隙锁,记录锁,next-key。

next-key是前两者的混合模式。锁定目标索引记录和一定范围内的行。

posted @ 2018-02-28 12:01  叶落千尘  阅读(85)  评论(0编辑  收藏  举报