事务管理
发布日期:2021-06-30 18:22:57 浏览次数:2 分类:技术文章

本文共 771 字,大约阅读时间需要 2 分钟。

  • (1)什么是事务?
    事务的作用:保证一组操作在进行过程中要么同时成功,要么同时失败.
    1.目的:保持多并发情况下数据一致.
    2.目的:如果出现错误的操作可以进行改正
1000    update-100断电1000   update +100123
  • (2)什么是事务的特性?
    事务的特性(ACID)
    原子性: 一个事务是最小的执行单元,不可以分割
    一致性: 事务指定的前后,数据要保持一致.
    持久性: 事务一旦提交或回滚,在数据库中持久的改变.
1000  小明12

隔离性: 隔离性用来保证多个用户来操作数据库的同一份数据,不会受到相关干扰的特性.

事务的术语

  • (1)什么是事务的隔离级别?
    在这里插入图片描述补充 : 基于元数据的 Spring 声明性事务 :

Isolation 属性一共支持五种事务设置,具体介绍如下:

l DEFAULT 使用数据库设置的隔离级别 ( 默认 ) ,由 DBA 默认的设置来决定隔离级别 .

l READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 )

l READ_COMMITTED 会出现不可重复读、幻读问题(锁定正在读取的行)

l REPEATABLE_READ 会出幻读(锁定所读取的所有行)

l SERIALIZABLE 保证所有的情况不会发生(锁表)

  • (2)并发问题
    》(1)脏读: 一个事务读到了另一个事务的还没有提交数据.
    在这里插入图片描述

》(2)不可重复读 一个事务中多次读到的数据不一致.一个事务读到了另一个事务修改后的数据.

在这里插入图片描述

》(3)幻读(虚读): 一个事务读到了insert的数据.

在这里插入图片描述不可重复读的重点是修改

同一事务,两次读取到的数据不一样。

幻读的重点在于新增或者删除

同样的条件 , 第 1 次和第 2 次读出来的记录数不一样

脏读:强调的是第二个事务读到的不够新。

转载地址:https://libolin.blog.csdn.net/article/details/109064090 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:别再无脑get、set了,快使用lombok,从此不用再get、set
下一篇:SpringMVC的参数绑定-日期格式转换

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月30日 05时52分33秒