事务特点 ACIDATOMICITY:原子性 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性 CONSISTENCY:一致性 数据库总是从一个一致性的状态转换到另一个一致性的状态 ...
分类:
数据库 时间:
2017-05-15 18:34:30
阅读次数:
250
InnoDB存储引擎支持事务,其设计目标主要面向在线事务(OLTP)应用,其特点是: 行锁设计,支持外键,并支持类似于Oracle的非锁定读,即默认读取操作不会产生锁,从MySQL5.5.8 开始,InnoDB存储引擎是默认的存储引擎。 InnoDB存储引擎通过多版本并发MVCC来获得高并发性,并且 ...
分类:
数据库 时间:
2017-05-15 18:20:58
阅读次数:
193
前言 主要介绍自己在学习spring mvc过程中踩到的一些坑,涉及到当时遇到这个错误是如何思考的,对思路进行总结,下次遇到类似的错误能够提供一些思路甚至快速解决。 环境准备 jdk8,spring4.3.3.RELEASE,spring mvc与spring版本一致,maven3.2.5,tomc ...
分类:
编程语言 时间:
2017-05-02 09:50:55
阅读次数:
781
Mysql的大多数事务型存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,他们一般都同时实现了MVCC.实现了非阻塞的读操作,写操作也只锁定必要的行。 MVCC的实现,是通过保存数据在某个时间点的快照来实现的。即为:不管需要执行多长时间,每个事务看到的数据都是一致的。 不同的存储引擎的MVC ...
分类:
Web程序 时间:
2017-04-21 23:43:59
阅读次数:
207
MVCC (Multiversion Concurrency Control),即多版本并发控制技术 行锁+多版本 使得很小的开销就可以实现读不加锁,提高数据库的并发性 你可将MVCC看成行级别锁的一种妥协,它在许多情况下避免了使用锁,同时可以提供更小的开销。根据实现的不同,它可以允许非阻塞式读,在 ...
分类:
Web程序 时间:
2017-04-10 17:41:15
阅读次数:
275
一 前言 本来今天打算继续研究InnoDB 锁机制并完成第二篇文章,查找资料的时候忽悠想起来自己遗漏了之前的CSDN的公开课《深入理解MySQL中的undo,redo,mvcc》 。于是乎走入另外一条路了,把MySQL IO 层面的知识复习一遍,加深了对MySQL 数据一致性,主从一致性的理解。本文 ...
分类:
数据库 时间:
2017-03-19 10:44:07
阅读次数:
179
http://blog.sina.com.cn/s/blog_499740cb0100ugs7.html 上述链接很经典的解释了mysql的mvcc为什么是部分解决了幻读的问题。 同时我需要理解的是,在业务逻辑中,事务是可以分散在业务代码里面的,并不是说一条语句写出。比如,我们启动了一个事务,sta ...
分类:
数据库 时间:
2017-02-22 16:34:37
阅读次数:
192
innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。如何做到保证数据是一致的(也就是一个事务,其内部读取对应某一个数据的时候, ...
分类:
其他好文 时间:
2017-02-22 10:21:05
阅读次数:
645
本周数据库业界探讨最火热的话题就是MemSQL,究竟是不是“旧瓶装新酒”引发了诸多的辩论,同时也引发了究竟是产品技术重要还是DBA重要的疑问。网络中有一些关于MemSQL的介绍,基本上都是来自官方文档。在本文中,数据库行业的著名独立分析师Curt Monash也发表了他对MemSQL的看法。 Mem ...
分类:
数据库 时间:
2017-01-09 16:16:52
阅读次数:
174
mysql提供了4种不同的隔离级别以支持多版本并发控制(MVCC) 较低级别的隔离通常可以执行更高的并发,系统的开销也更低 ...
分类:
数据库 时间:
2017-01-09 00:21:52
阅读次数:
343