一、事物隔离级别概念
一、我们为什么需要事务
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原...
分类:
其他好文 时间:
2016-06-24 15:16:20
阅读次数:
202
Mysql引擎介绍Innodb存储引擎支持事务,在OLTP方面支持行级锁、外键;通过多版本并发控制MVCC来获得高并发性,并实现SQL的4种隔离级别(默认repeatable);提供insertbuffer,doublewrite,自适应hash索引,预读;对于表中数据的存储,innodb采用clustered。每张表的存储按照主..
分类:
数据库 时间:
2016-06-24 13:08:47
阅读次数:
212
事务的四个属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)。 1.原子性(Atomic) 最重要的原则,也是最容易理解的原则。被事务管理的所有方法,要么一起被提交,要么一起回滚。 2.一致性(Consistency) ...
分类:
其他好文 时间:
2016-06-23 00:55:53
阅读次数:
101
MYSQL的锁 1. 共享锁,也就是读锁,可以通过select ... lock in share mode强制加锁,默认select语句是不加锁的 2. 排他锁,也就是写锁,可以通过select ... for update强制加写锁,默认情况下insert, update, delete语句加写 ...
分类:
数据库 时间:
2016-06-15 15:41:52
阅读次数:
204
脏读 dirty reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction 1 修改了一行数据,然后 Transaction 2 在 Transaction 1 还未提交修改操作之前读取了被修改的行。如果 Transaction 1 回滚了修改操作,那么 Tran ...
分类:
其他好文 时间:
2016-06-15 10:52:35
阅读次数:
178
with(nolock) table hint 不意味着不会加锁,使用 Trace Flag 1200 返回加锁的整个过程,是学习加锁过程的得力工具 Step1,设置事务隔离级别为 Read Committed,然后使用with(nolock) table hint,查看加锁过程 在第一次执行该语句 ...
分类:
其他好文 时间:
2016-06-14 14:21:38
阅读次数:
592
数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。 更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。 脏读(Dirty Re ...
分类:
数据库 时间:
2016-05-31 10:15:48
阅读次数:
374
在Spring中,声明式事务是通过事务属性(transaction attribute)来定义的。事务属性描述了事务策略如何应用到方法上。事务属性包含5个方面:
传播行为隔离级别是否只读事务超时回滚规则
尽管Spring提供了多种声明式事务的机制,但是所有的方式都依赖这五个参数来控制如何管理事务策略。
(上述内容参考《Spring In Action》第三版)。
对于声明式事务是使...
分类:
编程语言 时间:
2016-05-30 15:46:33
阅读次数:
306
在讲mysql事物隔离级别之前,我们先简单说说mysql的锁和事务。 一:数据库锁 因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对同一张表进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。 锁的分类 从对 ...
分类:
数据库 时间:
2016-05-30 14:29:56
阅读次数:
251
前言:
我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。
#一次封...
分类:
数据库 时间:
2016-05-29 23:20:17
阅读次数:
286