前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring事务隔离级别

Spring事务隔离级别

作者头像
一觉睡到小时候
发布2020-07-13 11:07:34
4480
发布2020-07-13 11:07:34
举报
文章被收录于专栏:国产程序员国产程序员

事务隔离级别

ISOLATION_DEFAULT

这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。

ISOLATION_READ_UNCOMMITTED

这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。

ISOLATION_READ_COMMITTED

保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。

ISOLATION_REPEATABLE_READ

这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免不可重复读。

ISOLATION_SERIALIZABLE

这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

什么是脏数据,脏读,不可重复读,幻觉读?

脏读

一个事务修改了一行数据但是没有提交,第二个事务可以读取到这行被修改的数据,如果第一个事务回滚,第二个事务获取到的数据就是脏读。 帮助记忆:写读

### 不可重复读 一个事务读取到一行数据,第二个事务修改了这行数据,第一个事务重新读取证行数据将得到不同的值。因此称为是不可重复读。 帮助记忆:读写读

幻读

一个事务按照一个where条件读取所有符合的数据,第二个事务插入了一行数据且恰好也满足这个where条件,第一个事务再以这个where条件重新获取将会获取额外多出来的这一行。 帮助记忆:where insert where

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 国产程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 事务隔离级别
    • ISOLATION_DEFAULT
      • ISOLATION_READ_UNCOMMITTED
        • ISOLATION_READ_COMMITTED
          • ISOLATION_REPEATABLE_READ
            • ISOLATION_SERIALIZABLE
            • 什么是脏数据,脏读,不可重复读,幻觉读?
              • 脏读
                • 幻读
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档