事务的四大特性 1.原子性 2.一致性 3.隔离性 4.持久性 四种事务隔离级别 1.未提交读 2.已提交读 3.可重复读 4.可串行化 事务隔离要解决三个问题 1.脏读,读取到了未提交事务的数据,比如未提交读就会产生这种数据 2.不可重复读,在同一个事务里两次读取的数据不一样,因为在两次读取的过程 ...
分类:
数据库 时间:
2019-10-13 21:01:53
阅读次数:
133
一、事务隔离问题 1、脏读:事务A对某数据进行了修改,但事务还没有提交。这时事务B来读取这个数据,会读到事务A修改后但还没有提交的数据。如果事务A撤销了对该数据的修改,那么事务B就读取到了脏数据,这个就叫脏读。 2、不可重复读:事务A读取一个数据,但事务还没有结束。这时事务B修改了这个数据后提交。事 ...
分类:
数据库 时间:
2019-10-04 23:17:32
阅读次数:
183
首先创建一个表 account。创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoDB)。表的结构如下: 然后往表中插入两条数据,插入后结果如下: 为了说明问题,我们打开两个控制台分别进行登录来模拟两个用户(暂且成为用户 A 和用户 B 吧),并设置当前 My ...
分类:
数据库 时间:
2019-09-06 01:35:05
阅读次数:
126
一、事务描述 1、事务的四个特性 ACID 1. A:原子性 = 一个事务或者都成功、或者都失败; 2. C:一致性 = 在整个事务的生命周期里面,查询到的数据是一致的; MVCC多版本并发控制:利用undo保存某一时刻数据快照,通过版本号来减少锁的争用,保证各个事务互不影响。 3. I: 隔离性 ...
分类:
数据库 时间:
2019-08-18 21:36:59
阅读次数:
102
mysql支持4种事务隔离级别分别为 Read Uncommitted 读未提交 Read Committed 读已提交 Repeatable Read 可重复读 *注意这个概念容易混,下面细说 Serializable 串行化事务操作 1.Read Uncommitted 读未提交 事务隔离级别设 ...
分类:
数据库 时间:
2019-08-02 13:07:10
阅读次数:
84
事务隔离级别是针对读数据库数据的一种规则。事务隔离级别是数据库属性不是事务属性。 1.读未提交(read uncommited) 可以读到其他事务修改未提交的数据。(有 脏读,不可重复读,幻读) 事务A读到了事务B更新后但未提交的数据,然后事务B回滚,那么A刚才读到的数据就是脏数据,俗称脏读。 事务 ...
分类:
数据库 时间:
2019-05-01 12:01:48
阅读次数:
173
1、事务的基本要素:ACID 1、原子性(Atomicity): 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性 ...
分类:
数据库 时间:
2019-04-09 09:18:53
阅读次数:
252
MySQL事务隔离级别详解 前两天面试,问到了四种隔离级别,当时觉得大多数数据库都为read committed,结果没想到mysql是个例外。在此做一下隔离级别和各种数据库锁的使用。 首先说一下ACID四大特性: 四大特性 · 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都 ...
分类:
数据库 时间:
2019-01-28 12:06:58
阅读次数:
165
前两天面试,问到了四种隔离级别,当时觉得大多数数据库都为read committed,结果没想到mysql是个例外。在此做一下隔离级别和各种数据库锁的使用。 首先说一下ACID四大特性: 四大特性 · 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联 ...
分类:
数据库 时间:
2019-01-15 22:06:20
阅读次数:
211