1. 脏读、幻读、不可重复读
脏读:读到了还没有提交的数据。A修改数据x,但没有提交,B却能读到x的最新zhi值。而如果此时Ahui回滚了这个x修改,B读到的值就是一个错误。
幻读:针对插入和删除的记录。B读表时发现有10条记录,准备去用这10条记录做一些事情,而此时A插入了一条记录(并提交),B在做一些事情的过程中再去读表,读到了11条记录,B会以为多出来的一条记录是幻读。
不可重复读:针对一条记录的修改。B表中的一条数据X值为10,准备用这个值做一些事情,而此时A修改这个值(并提交)为11,B在做事情的过程中再次查询X发现为11,B会觉得不可重复读。
脏读是一种错误,一定要杜绝。幻读和不可重复读其实是隔离级别的问题。解决幻读是要表锁(或换个思路是通过序列化),解决不可重复读是要行锁。