数据库事务的4个特性理解

说到数据库事务的特性 ,应该本能的说出acid这个单词

acid 

adj.酸的; 酸性的; 酸味的; 尖刻的;
n.<化>酸; 酸味物质;

 

原子性 Atomicity

要么做,要么不做。这个例子挺多的,就像二进制0/1 开关一样,要么开,要么关,不存在什么半开。还有类似boolean类型数据,就只有true ,false 。就像誓死如归的军人,要么战死,要么凯旋,绝对不会投降。

一致性 Consistency

要求A+B = 10 ,A B 两个变量必须一致,A=1 ,B一定要等于9,A=2,B一定要等于8.还有csdn博客,你关注了我 , 那么你就是我的粉丝,数据库两头都要存储。还有银行转账这个经典的例子。

隔离型 Isolation

参考一个好博文:http://interma.cnblogs.com/archive/2005/12/25/304472.html

 对数据操作,要么r,要么w,这样两个事务同时操作,数学排列组合下,就有2*2=4种情况,显然有问题。

参考下这篇讲解:http://www.oschina.net/question/258230_134502

1. 两个更新事物同时修改一条数据时(丢失更新)

2. 一个更新事物更新一条数据时,另一个数据读取了还没提交的更新(读脏)

可以理解为 这个人性子急,我都还没弄好,你这么快就催,结果就错了

3. 一个读取事物读取一条数据时另一个更新事物修改了这条数据,这时就会出现不可重现的读取(不可重复读)

我在做,还没做完,你插手干嘛,跟上面的性子急差不多

4. 一个读取事物读取时,另一个插入事物插入了一条新数据,这样就可能多读出一条数据,出现幻读(幻读)

MySQL实践四种隔离参考我的另一篇: https://blog.csdn.net/qq_26437925/article/details/80270741

持久性 Durability

一旦事务提交成功,数据修改是永存的。

参考下:http://www.cnblogs.com/Amaranthus/p/3683076.html

这个与内存,磁盘数据存储有关,还要涉及到缓存

转载下这篇文章:http://blog.csdn.net/shuaihj/article/details/14163713  对这4个特性的理解

 

待完。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值