spring事务隔离级别是什么,数据库隔离级别是什么,它们有什么关系。我来帮大家理一理。
其实非常简单,spring发送SQL请求和我们用的Navicat 写 set session transaction isolation level 具体级别
start transaction
是一样的,实际上就是spring 使用了 MySQL提供的标准接口,说白了就是告诉MySQL 使用什么事务隔离级别而已。
脏读:一事务对数据进行了改更改,但未提交,另一事务可以读取到未提交的数据。如果第一个事务这时候回滚了,那么第二个事务就读到了脏数据。这种级别下读的是内存。
疑问1:脏读,为啥别人能看到我未提交的数据?
答: 因为修改是在内存中修改的,没有提交到文件系统上,也就是没有写到日志里。说白就是读取到了临时数据。
提交读:一个事务中发生了两次读操作,第一次读操作和第二次操作之间,另外一个事务对数据进行了修改并且提交,这时候两次读取的数据是