一、读取未提交的内容
一个事务可以确定未提交的内容经常会引起脏读问题。 脏读取:读取其他事务未提交(未执行)的内容。 对于同一个数据表,打开a和b两个事务(a和b事务相交)的开始事务
a事务只查询数据表的内容,b事务执行添加/删除操作,但不提交
a事务可以查询表中的数据更改。 未提交的内容--查询脏读。
二、读取提交- -读取提交的内容
在一个事务中,只能看到提交的内容。 不能重复。 在同一事务中执行同一select语句会产生不同的结果。 对于同一个数据表,打开a和b两个事务(a和b事务相交)的开始事务
a事务只查询数据表的内容,b事务执行添加/删除操作,但不提交
a事务查询不能引用表中数据更改的内容
b提交事务处理
a调查的数据发生变化(a调查2次,产生不同的结果---不能重复阅读) )
三、可重复读取- -可重复读取
如果同一事务的多个实例同时读取数据,则在产生相同结果的缺省MySQL事务隔离级别上经常会出现幻读问题(幻读:多次读取时出现不同结果) )。 针对同一数据表的a、b两个事务) a、b事务相交) )打开start transaction
a事务只查询数据表的内容,b事务执行添加/删除操作,但不提交
a事务查询不能引用表中数据更改的内容
b提交事务处理
a事务查询不能引用表中数据更改的内容
a提出
可以查询a表中数据的更改
四、可序列化- -可序列化
由于以最高级别的独立性对事务进行共享锁定,并且只能同时进行一个事务操作,因此在解决幻像读取问题时,会出现大量超时和锁定冲突问题,从而打开a事务
在b事务处于打开状态时,无法添加或删除操作