事务的特征ACID,即原子性、一致性、隔离性、持久性。原子性保证一个事务为一个最小的单元,内部不可分割;一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚;隔离性保证不同事务间看到的数据视图相互独立,相互隔离(隔离级别可设置);持久性保证事务提交后数据会持久的保存下来;sq...
分类:
数据库 时间:
2015-01-13 19:48:54
阅读次数:
177
细节其实很多。。。
1 到底什么是ACID
首先需要说明的是,在IT领域,很多名词在不同的上下文环境中的语义是不同的。例如某些产品宣称支持“100% ACID”和“强一致性”等。那么,这些名词到底指的是什么?如果不结合具体的语境,我们很可能产生各种误解。在没有NoSQL,也更没有NewSQL之前,我们需要关注的是数据库产品支持的隔离级别的差异,而不需要关心它们到底实现了ACID没有。因...
分类:
其他好文 时间:
2015-01-10 22:26:10
阅读次数:
360
一、介绍with(nolock)的主要作用是允许SELECT语句读取正在修改中的数据,也就是通常说的脏读(dirtyread),对于数据修改数量很小而且对SELECT语句读出的数据精确性影响可以忽略的应用程序,可以使用这种方式来避免数据修改活动阻塞SELECT语句。对于隔离级别来说,它允许SELEC...
分类:
其他好文 时间:
2015-01-09 10:28:50
阅读次数:
201
1 如果多个操作,写个操作使用的是自己的单独的连接,则无法保证事物。事物要求多个操作一起执行,一起回滚。 2 具体操作: 1)事物操作开始前,开始事物,取消Connection的默认提交行为。 2)如果事物的操作都成功,则提交事务 3)若出现异常,则在catch中回滚事务 3 四种事物隔离级别: 1...
分类:
其他好文 时间:
2015-01-08 12:52:17
阅读次数:
186
转:http://blog.csdn.net/it_man/article/details/5074371Spring事务配置的五种方式前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配...
分类:
编程语言 时间:
2015-01-05 20:05:18
阅读次数:
275
续上篇...
3. 数据块访问与undo
任何时候当会话查看一个数据块的时候,都需要保证看到的是适当的数据版本。从外部观点来看,这意味着会话不应该看到任何未提交的数据,或许还不应该看到查询开始后修改并提交的数据(取决于事务的隔离级别),这称为数据的读一致性版本。
下面我们来谈谈oracle怎么实现读一致性版本的:
3.1 设置场景
我们会...
分类:
数据库 时间:
2015-01-05 00:38:52
阅读次数:
345
A Critique of ANSI SQL Isolation Levels
1. 1995年发表。
2. SQL是以现象(phenomena)来定义四个隔离级别的,但是与实际系统差别太大。
3. SQL没有涵盖某些常见的隔离级别,特别是多版本并发控制下的Snapshot Isolation。
4. 关系数据库ACID默认是要支持可串行化的,不过实际系统大多提供了较低的隔离级别。这也...
分类:
数据库 时间:
2015-01-04 21:24:59
阅读次数:
223
【3】事务的四个隔离级别。事务隔离级别 脏读 不可重复读 幻读 READ_UNCOMMITTED 允许 允许 允许 READ_COMMITTED 禁止 允许 允许 REPEATABLE_READ 禁止 禁止 允许 SERIALIZABL...
分类:
数据库 时间:
2015-01-04 09:57:01
阅读次数:
169
Mysql到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。 在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段:6字节的事务ID(DB_TRX_ID)7字节的回滚指针(DB_ROLL_P...
分类:
数据库 时间:
2015-01-04 01:03:30
阅读次数:
398
public void FixProjectSorceInsert() { TransactionOptions transactionOption = new TransactionOptions(); //设置事务隔离级别 ...
分类:
其他好文 时间:
2014-12-30 15:09:21
阅读次数:
154