标签:做了 serial -- 一个 幻读 ati 级别 read 之间
select @@tx_isolation;
默认的隔离级别为:可重复度(REPEATABLE-READ)
set tx_isolation='<隔离级别>'
当多个会话同时操作同一张表,其中某一个会话M尝试去读取表中的数据时,它会直接读取到其他会话开启事务后对表的内容造成修改后的但事务尚未提交的内容。当事务发生回滚,会话M再去查询,会出现与此之前不同的数据,造成脏读。
跟上面的读未提交的相反,当前的会话只会读到其他会话结束后的表数据,无论其他会话在自己的事务中做了啥修改,只要为结束当前的会话,其他的会话都无法读取到会话未结束前的修改。
会话M开始事务去查询的同时,其他多个会话在对会话M查询的内容做修改,无论其他会话结束与否,会话M的事务只要没有结束,会话M去查询的内容始终与会话M开启事务时查询到的内容一致。当会话M的事务结束后,会话M再去查询,才能查询到其他会话做出修改后的内容。
多个会话之间存在串行关系,如果会话之间都只是查询的话,那么不会存在阻塞。当其中的某些会话需要对表的数据进行增改的时候,必须的等待其他操作该表的会话结束后才会执行增改操作。
标签:做了 serial -- 一个 幻读 ati 级别 read 之间
原文地址:https://www.cnblogs.com/ivy-blogs/p/11768685.html