码迷,mamicode.com
首页 > 其他好文 > 详细

ACID理解

时间:2019-12-08 01:04:29      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:style   方式   读锁   span   执行   tom   redo   数据   repeat   

数据库事物的4个特性。

A原子性:多次操作要么全部成功,要么全部失败。undo日志是在事务执行失败的时候撤销对数据库的操作,保证了事务的原子性(Atomicity)

C一致性:一致性这个最不好理解。数据库的AID特性使得,数据库能够达到一致性,这个目标。

I隔离性:两个事物操作同一个的表,能做到互不影响。-》数据库隔离级别-》数据库隔离级别又是通过加锁来实现的-》共享锁(读锁)、排他锁(写锁)

D持久性:只要提交执行结束,数据就一定保存成功。redu日志用来在断电/数据库崩溃等状况发生时重演一次刷数据的过程,把redo日志里的数据刷到数据库里,保证了事务的持久性(Durability)

 

1、读未提交(read-uncommitted):这种隔离级别下、会解决更新丢失的问题、出现脏读、不可重复读和幻读的问题。
2、读已提交(read-committed):这种隔离级别下会出现不可重复读和幻读的问题。(这是Oracle的默认隔离级别)
3、可重复读(repeatable read):这种情况下会出现幻读的问题。(这是mysql默认的隔离级别、其实mysql在这种隔离级别下解决了幻读的问题)
4、串行化(serializable):这种隔离级别最高、也是最慢、它是以串行化的方式执行的。解决所有的并发问题。

之所以要隔离都是并发惹的祸,并发时才会同时出现两个事物https://blog.csdn.net/apologizetm/article/details/88389785

 

https://blog.csdn.net/fanxing1964/article/details/82252774

ACID理解

标签:style   方式   读锁   span   执行   tom   redo   数据   repeat   

原文地址:https://www.cnblogs.com/cuiqq/p/12004084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!