1.事务的特性ACID 1)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2)一致性(Consistency)一个事务中,事务前后数据的完整性必须保持一致。 3)隔离性(Isolation)多个事务,事务的隔离性是指多个用户并发访问数据库 ...
分类:
其他好文 时间:
2018-01-27 19:13:45
阅读次数:
203
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引 ...
分类:
数据库 时间:
2018-01-27 19:03:05
阅读次数:
194
回顾 在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。 读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用) 读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存 ...
分类:
数据库 时间:
2018-01-27 15:28:27
阅读次数:
202
1. 事务的定义 数据库事务是数据库管理系统执行过程中的一个逻辑单位,有一个有限的数据库操作序列完成。以 “A账户向B账户汇钱” 为例,一个事务是下面一个操作序列: a. 从A账号中把余额读出来。 b. 对A账号做减法操作。 c. 把结果写回A账号中。 d. 从B账号中把余额读出来。 e. 对B账号 ...
分类:
数据库 时间:
2018-01-24 15:26:19
阅读次数:
157
1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if none exists. 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 被设置成这个级 ...
分类:
编程语言 时间:
2018-01-19 18:50:16
阅读次数:
193
本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行(原子性),从一个状态转变到另外一个状态(一致性)。由于事务满足久性。所以一旦事务被提交之后,数据 ...
分类:
其他好文 时间:
2018-01-17 01:22:49
阅读次数:
190
一 数据库事务的隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读这几类问题。 1. Read UnCommitted( ...
分类:
数据库 时间:
2018-01-17 01:10:14
阅读次数:
235
数据库的读现象浅析中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。 并发控制 在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正 ...
分类:
数据库 时间:
2018-01-17 01:02:36
阅读次数:
237
“读现象”是多个事务并发执行时,在读取数据方面可能碰到的状况。先了解它们有助于理解各隔离级别的含义。其中包括脏读、不可重复读和幻读。 脏读 脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效 ...
分类:
数据库 时间:
2018-01-17 00:43:58
阅读次数:
207
这几篇文章是从网上(http://www.hollischuang.com)看到的一系列文章,也是重温了一下数据库的相关知识。下面是对这些文章的一些前后行文逻辑的说明: 我们知道,在DBMS的多个事业并发执行时,存在着脏读、不可重复读、幻读等情况。 为了解决这些问题,DBMS产品都会通过锁来实现数据 ...
分类:
数据库 时间:
2018-01-17 00:07:11
阅读次数:
155