前言:今天在做一个spring事务的时候,本来以为很简单就会完成,但是却遇到了一点曲折,spring的事务需要依赖mysql的事务隔离级别,下面就把这个过程记录下来。
事情的起因是这样的,由于在更新一个出金金额和相应插入一条出金记录的时候,没有加事务,导致概率性的事件出现了,出金记录增加了,但是由于出金记录在update的时候由于其他事务的占用原因,并没有执行,最开始的时候没有注意到这个原因,因...
分类:
编程语言 时间:
2014-12-12 19:05:47
阅读次数:
225
原文地址 :http://blog.sina.com.cn/s/blog_4c197d420101awhc.html事务是DBMS得执行单位。它由有限得数据库操作序列组成得。但不是任意得数据库操作序列都能成为事务。一般来说,事务是必须满足4个条件(ACID)原子性(Autmic):事务在执行性,要做...
分类:
数据库 时间:
2014-12-10 19:39:07
阅读次数:
249
有如下表:
create table t(a int)engine=innodb,charset=utf8
有如下两个客户端:...
分类:
数据库 时间:
2014-12-08 17:54:49
阅读次数:
259
《High Performance MySQL》真是本经典好书,从应用层到数据库到硬件平台,各种调优技巧、常见问题全都有所提及。数据库的各种概念技巧平时都有接触,像索引、分区、Sharding等等,但要想真正提高还是得如此系统学习一下。Chapter 1: MySQL Architecture and History1.1 Transaction Isolation Level事务隔离级别真是个老...
分类:
数据库 时间:
2014-12-06 20:23:42
阅读次数:
413
一、mysql 默认隔离级别是 repeatable read1.在一个事务中两次查询一条记录,结果总是事务开始前的值。不管是否有另外的事务改变这条记录,2.在一个事务中如果保存记录,1)如果这条记录已经被另外一个已经结束的事务改变了,本事务会把这条记录覆盖。2)如果另外一个事务先改这条记录,并且没...
分类:
数据库 时间:
2014-12-05 19:06:52
阅读次数:
187
--查了当前数据库是事务隔离级别
DBCC USEROPTIONS
【测试一:丢失更新】
--事务1
begin tran
select * from dbo.Test(nolock) where name = 'kk'
waitfor delay '00:00:05'
update T set info = 'A更改' from Test T(nolock) where name...
分类:
数据库 时间:
2014-11-26 14:22:15
阅读次数:
312
关于Spring的事务有7个传播行为,4个隔离级别。...
分类:
编程语言 时间:
2014-11-24 17:12:51
阅读次数:
146
Mysql中的事务事务是DBMS中的执行单位,它是有限的数据库操作序列组成的。但是并不是所有的数据库操作序列都能成为事务。一般说来,事务具有如下4个特性(ACID特性):1、原子性(Automicity):该特性引起的数据库操作"要么全部执行,要么全部不执行"。2、一致性(Consistency..
分类:
数据库 时间:
2014-11-23 08:11:56
阅读次数:
206
数据库中事务的隔离级别有四种,级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别可以逐个解决脏读、不可重复读、幻读这几个问题。...
分类:
数据库 时间:
2014-11-19 18:37:54
阅读次数:
201
以下内容出自《高性能MySQL》第三版,了解事务的ACID及四种隔离级有助于我们更好的理解事务运作。下面举一个银行应用是解释事务必要性的一个经典例子。假如一个银行的数据库有两张表:支票表(checking)和储蓄表(savings)。现在要从用户Jane的支票账户转移200美元到她的储蓄账户,那么至...
分类:
数据库 时间:
2014-11-17 17:07:35
阅读次数:
221