数据库事务处理差异:可提交读和重复读区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库事务处理差异:可提交读和重复读区别相关的知识,希望对你有一定的参考价值。

本文来自于自己的博客:http://www.wangerbao.com/?p=279


 mysql默认事物是重复读(Repeatable Read Isolation Level),
 PostGres默认事物是提交读(Read Committed Isolation Level),现在根据实例来对比下它们的差别.

Mysql:

左边为事物1,右边为事物2.

第一步:

    事物1查询,事物2查询,它们的查询结果一致。
 
技术分享

第二步:

          事物1更新-查询-但是不提交,事物2查询,他们的结果不一致

 技术分享
            

第三步:

       事物1提交-查询,事物2查询,他们的结果不一致———其实2个事物的差别就在这里。

 
技术分享

第四步:

事物1查询,事物2提交-查询,他们的结果一致
技术分享
   

Postgresql:

左边为事物1,右边为事物2

第一步:

事物1查询,事物2查询,查询结果一致。

 技术分享

第二步:

事物1修改-查询,事物2查询,查询结果不一致

 技术分享

第三步:

事物1提交-查询,事物2查询,查询结果一致

 
技术分享
第四步:

事物1查询,事物2提交查询,结果一致,不截图了


本文出自 “www.wangerbao.com” 博客,请务必保留此出处http://wangerbao.blog.51cto.com/4363165/1916026

以上是关于数据库事务处理差异:可提交读和重复读区别的主要内容,如果未能解决你的问题,请参考以下文章

数据库的脏读不可重复读和幻读区别

什么是脏读,不可重复读,幻读

不可重复读和幻读的区别

什么是脏读,幻读和不可重复读

SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因

1.3 REPEATABLE READ(可重复读)