一、数据库ACID特性1.1 原子性(Atomicity)1.2 一致性(Consistent)1.3 隔离性(Isoation)1.4 持久性(Durabe)二、隔离级别2.1 数据库会发生的问题2.1.1 脏读-一个事务读取到另一事务未提交的更新新据。2.1.2 不可重复读-同一事务中,多次读取同一数据返回的结果有所不同(针对的update操作)2.1.3 幻读-一个事务读取到另一事务已提交
转载
2024-01-11 22:36:52
49阅读
1、事务概念 现在的很多软件都是多用户,多应用,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。 比如A要给B转1000块钱,那么要做两步Update操作:a、从A账户减1000块钱;b、给B账户加1000块钱; a、b两个操作应该作为一个整体来执行,要么都成功,要么都失败,否则会出现比较尴尬的情况:“A账户减了1000,但B账户没加钱” ;
转载
2023-09-08 12:34:20
53阅读
Class A {
@Transactional(propagation=propagation.REQUIRED)
public void aMethod {
B b = new B();
b.bMethod();
}
}
//in B.java
Class B {
@Transactio
转载
2023-08-14 10:40:48
36阅读
目录:1.存储引擎(了解)2.什么是事务?3.事务的acid特性4.事务语法(数据库中)5.事务的并发问题6.Mysql的事务隔离级别
1.存储引擎(了解)
数据库底层软件组织,dbms通过存储引擎实现对数据库的操作,mysql核心就是存储引擎。 mysql中可以设置多种存储引擎,不同的存储引擎在索引,存储,以及索策略上是不同的。mysql 5.5之前,采用myisam存储引擎,支
1. mysql的4种事务特性,5种隔离级别,7种传播行为1. mysql的4种事务特性,5种隔离级别,7种传播行为mysql事务: 什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.事务特性(4种): 原子性 (atomicity):强调事务的不可分割. 一致性 (consistency):事务的执行的前后数据的完整性保持一致. 隔离性 (isolati
转载
2023-11-01 16:55:01
102阅读
目录一、事务隔离级别1.1、事务的四要素(ACID)1.2、并发所带来的问题1.3、事务隔离级别类型1.4、场景复现1.4.1、脏读1.4.2、不可重复读1.4.3、幻读二、Spring事务的传播机制 一、事务隔离级别1.1、事务的四要素(ACID)原子性:事务的所有操作都是原子性,即要不当前操作全部做完。如果中间操作失败,则回到最初的状态。即要不全做完,要不全不做。一致性:事务开始前和
转载
2023-08-10 09:35:54
89阅读
概要:事务的四个特性:原子性、一致性、隔离性、持久性事务不隔离带来的问题:更新丢失、脏读、不可重复读、虚读(幻读)。其中更新丢失就是并发写,这是一定不允许的,因此一定要解决更新丢失问题。事务隔离的级别:读未提交(1000)、读已提交(1100)、可重复读(1110)、串行化(1111)。更新丢失脏读不可重复读幻读RU(读未提交)避免RC(读提交)避免避免RR(可重复读)避免避免避免S(串行化)避免
转载
2023-09-14 19:40:07
189阅读
Spring有7种事务传播机制,本文主要用实例说明各种传播机制的事务效果,和发生异常的回滚方式。7种事务传播机制网上的资料大多都是如下的描述:事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。PROPAGATION_SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAG
转载
2023-09-14 21:10:06
128阅读
2.1传播理论2.1.1传播与传播模式1、传播的概念 传播 就是人类社会的信息交流过程,也可以说是利用各种媒体把信息从信息源传递到接受者的过程,具有沟通、协调、教育和娱乐等功能。 传播分为三类:大众传播、人际传播和组织传播。 传播的6基本要素:信息源、传播者、受传者、信息、媒体和反馈2、.主要的传播模式 传播模式:
转载
2024-05-06 11:33:27
113阅读
Spring事务&MySQL事务四大隔离级别0、判断有没有@Transctional注解 1、利用事务管理器建立一个数据库连接conn2, conn .autocommit = false 自动提交设为false 被代理的方法target.method(); 执行相应的sql3、conn . commit() 成功提交,否则回滚 rollback(): 事
TRANSACTION(事务隔离级别)在说明事务隔离级别之前先说一下脏读、不可重复读、幻读这三个概念。脏读:一个事务读取到另一事务未提交的更新新据。当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据, 那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作也可能是不正确的。不可重复
转载
2023-09-19 16:55:57
49阅读
目录1.1 REQUIRED1.2 SUPPORTS1.3 MANDATORY1.4 REQUIRES_NEW情况i:情况ii:情况iii:1.5 NOT_SUPPORTED1.6 NEVER1.7 NESTED情况i:情况ii:1.1 REQUIRED(默认的传播属性值)如果当前已经存在事务,那么加入该事务,如果不存在事务,创建一个事务1.2 SUPPORTS当前线程存在事务,挂起当前事务,执行
转载
2023-06-23 11:46:59
154阅读
传播行为?Spring支持7中事务传播行为 一个场景:假设外层方法里面包含二个新增用户和新增角色的方法,二个方法后面还会抛一个异常。 propagation_required(需要传播):当前没有事务则新建事务,有则加入当前事务。外围方法未开启事务,插入用户表和用户角色表的方法在自己的事务中独立运行,外围方法异常不影响内部插入,所以两条记录都新增成功。 外围方法开启事务,内部方法加入外围方法事务,
转载
2024-01-10 14:42:45
17阅读
我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置在Service层 那么当我们调用Service层的一个方法的时候它能够保证我们的这个方法中执行的所有的对数据库的更新操作保持在一个事务中,在事务层里面调用的这些方法要么全部成功,要么全部失败。那么事
转载
2024-07-26 08:52:16
15阅读
1.引擎 最常用的引擎分别有InnoDB和myisam两种 区别: innodb支持事务及四种隔离级别(读已提交、读未提交、可重复读、串行化),myisam不支持 myisam支持FULLTEXT索引,innodb不支持 InnoDB 中存在表锁和行锁,myisam只有表锁2.rollback的原理 rollback实现主要是依据MVCC来实现的为了实现多版本控制,InnoDB 引擎在每一行数据中
转载
2023-12-21 10:08:02
33阅读
一:什么是事务?答:事务是访问数据库的一个操作序列,DB(数据库)应用系统通过事务集来完成对数据的存取。二:事务必须遵循4个原则,即常说的 ACIDA,Automicity,原子性,即事务要么被全部执行,要么被全部不执行。如果事务下的子事务全部提交成功,则所有数据库操作被提交,否则,应进行事务回滚。C,Consistency,一致性,即状态转换必须是由一种正确的状态转换到另外一种正确的状态。I,I
转载
2023-08-11 19:53:32
7阅读
总览:事务的4大特性(ACID)原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状
转载
2023-11-01 17:45:07
75阅读
Mysql事务四个特性(ACID):原子性:一个事务是个整体,不可分割;一致性:一个事务内的所有sql语句要么一起执行,要么都不执行,隔离性:事务A和事务B不会互相打扰;持久性:事务A commit提交完成后,就会被写入数据库,无法rollback回滚;事务隔离性体现在四个隔离级别:读未提交。读已提交。可重复读。串行化。 隔离级别与对应问题脏读不可重复读幻读读未提交√√√读已提交√√可重
转载
2023-12-12 19:34:24
30阅读
事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播行为和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播行为:1) PROPAGATION_REQUIRED :默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加
转载
2023-12-13 04:30:16
153阅读
如果说一个数据库支持事务的操作,那么该数据库必须要具备以下四个特性:1. 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2. 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于
转载
2024-02-04 12:03:31
23阅读