1、事务 (1)概念 一组业务操作,要求要么全不成功,要么全部不成功 (2)特性(ACID) 原子性、一致性、隔离性、持久性 (3)隔离问题 脏读 不可重复读 幻读 (4)隔离级别 read uncommitted:读未提交,存在三个问题 read committed:读已提交,解决了脏读,存在两个 ...
分类:
编程语言 时间:
2020-04-17 20:10:29
阅读次数:
66
一、四种事务隔离级别 1.1 read uncommitted 读未提交 即:事务A可以读取到事务B已修改但未提交的数据。 除非是文章阅读量,每次+1这种无关痛痒的场景,一般业务系统没有人会使用该事务隔离级别,标准实在太宽松了。 1.2 read committed 读已提交(简称RC) 即:事务A ...
分类:
数据库 时间:
2020-04-06 20:28:55
阅读次数:
121
事务具有4个特征,分别是原子性、一致性、隔离性和持久性,简称事务的ACID特性; 一、原子性(atomicity) 一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性 二、一致性(consistency) 事务的执行不能破坏数据库数据的完整性和一致性,一个事务 ...
分类:
其他好文 时间:
2020-04-06 11:35:10
阅读次数:
59
一、含义 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二、特点(ACID) A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行 C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态 I 隔离性:一个事务不受其他事务的干扰,多个事务互相 ...
分类:
其他好文 时间:
2020-04-04 09:56:22
阅读次数:
62
一、事务的并发问题 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。 3、幻读:系统管理员A将数据库中所有学生的成绩从 ...
分类:
数据库 时间:
2020-03-31 12:12:55
阅读次数:
101
库存的变化是原子性的,如果在更新的库存的时候没有考虑好如何更新库存,那么会导致库存的 重复修改、脏读、幻读、不可重复读等操作。 但如果加锁的粒度过于大的话,就会导致大量的更新库存的请求失败。无法支持高并发的。 那么该怎么样写合适代码来更新库存呢? 其实核心思想是: 1. 加事务 2. 查询更新 先看 ...
分类:
其他好文 时间:
2020-03-31 01:34:26
阅读次数:
239
事务是有隔离级别 read uncommited (读未提交):不做任何隔离,具有脏读,不可重读对,幻读的问题 read committed (读提交):可以防止脏读,不能防止不可重复读和幻读的问题 repeated read(可重复读):可以防止脏读,不可重复读,不能放在幻读(mysql的默认隔离 ...
分类:
其他好文 时间:
2020-03-23 20:54:34
阅读次数:
90
1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两 次读数据 ...
分类:
其他好文 时间:
2020-03-18 18:22:16
阅读次数:
48
数据库事务四种隔离级别 1、Read Uncommitted(读未提交) :事务中的修改,即使没有提交,其他事务也可以看得到,会导致“脏读”、“幻读”和“不可重复读取”。 2、READ COMMITTED (读提交):大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并行事务已修改但未提交 ...
分类:
数据库 时间:
2020-03-18 09:43:34
阅读次数:
69
事务是有隔离级别 read uncommited (读未提交):不做任何隔离,具有脏读,不可重复对,幻读的问题 read committed (读提交):可以防止脏读,不能防止不可重复读和幻读的问题 repeated read(可重复读):可以防止脏读,不可重复读,不能防止幻读(mysql的默认隔离 ...
分类:
其他好文 时间:
2020-03-18 09:36:28
阅读次数:
65