数据库事务相关

发布于 2022-12-21 23:21:07 字数 1794 浏览 73 评论 0

参考事务(正常)脏读虚幻读重复读回滚丢失更新(一类)提交丢失更新(二类)
启动事务启动事务启动事务启动事务启动事务启动事务
读出1000 读出1000读出1000读出1000读出1000
      
加100

[更新/插入]

     
 读出1100

(别事更新)

  -100加100
提交事务(1100)     
  读出1100

(别事插入)

读出1100

(别事更新)

回滚(1000)

(覆盖别事)

提交(1100)

(覆盖别事)

      
   

第一类丢失更新:撤销一个事务时,把其他事务已提交的更新数据覆盖。 

  • 脏读:一个事务读到另一个事务未提交的[更新]数据。
  • 虚读/幻读:一个事务读到另一个事务已提交的[新插入]的数据。
  • 不可重复读:一个事务读到另一个事务已提交的[更新]数据。

第二类丢失更新:这是不可重复读中的特例,一个事务覆盖另一个事务已提交的更新数据。  

锁等级

  • Serializable(串行化):一个事务在执行过程中完全看不到其他事务对数据库所做的更新。避免所有事务的并发问题,但性能影响最严重
  • Repeatable Read(可重复读):一个事务在执行过程中可以看到其他事务已经提交的新插入的记录,但是不能看到其他事务对已有记录的更新。
  • Read Commited(读已提交数据):一个事务在执行过程中可以看到其他事务已经提交的新插入的记录,而且能看到其他事务已经提交的对已有记录的更新
  • Read Uncomitted(读未提交数据):一个事务在执行过程中可以拷打其他事务没有提交的新插入的记录,而且能看到其他事务没有提交的对已有记录的更新。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

薄荷港

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

苍风燃霜

文章 0 评论 0

悸初

文章 0 评论 0

撧情箌佬

文章 0 评论 0

森罗

文章 0 评论 0

lyn1245

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文