举例说明四种事务隔离级别有何差别?

7)举例说明四种事务隔离级别有何差别?

马克-to-win:比 如说:窗口1是READ-UNCOMMITTED级别,而窗口2是REPEATABLE-READ级别。(如何设置隔离级别,请参见“缺省隔离级别是怎么 回事?如何改变?”)这样,我窗口1读数据时,能看到其他窗口update以后还没有commited的数据。换句话说,你update以后,即使没有提 交,我都能看见。而因为你的级别是REPEATABLE-READ。这个隔离级别比较高,换句话说就是隔离度高。我更新完数据后,你看不到。马克-to-win:你要想看到我 更新的数据,必须得我提交以后,而且你也得提交完成你的transaction(事务)。咱们俩都尘埃落定了,你才能看到我更新的数据。因为这样做其实就 怕我回滚或者你回滚。如果我的窗口1的隔离级别刚才不是设成READ_UNCOMMITTED,而是设成READ_COMMITTED,则我的窗口1只能 看到你commited以后的数据。你不commit的话,当我select * from table时,只能看到以前的数据,你update以后而未提交的变化数据,我一点儿都看不见。同样,如果我的窗口1的隔离级别刚才不是设成 READ_UNCOMMITTED,而是设成SERIERLIZED的话,这是隔离级别最高的一种隔离,可以说隔离得最彻底。我窗口1开始 Transaction(事务)以后,即使我随随便便select * from table一下,你的Transaction之后都无法update。但如果说是你先进的transaction,你update之后,在你没提交之前, 我的普通的select * from table都不能执行。

更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44594371/article/details/103188726

posted @ 2022-03-17 18:20  malala  阅读(50)  评论(0编辑  收藏  举报