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

ACID

时间:2019-02-06 22:47:23      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:现象   多次   mysq   可重复   个数   不同的   做了   情况   相互   

总感觉是儿时的内容。面试所需,

数据库事务四大特性。ACID。

 

首先啥是事务,单位逻辑工作单元执行的一系列操作,要么完全执行,要么不执行

1、Atomicity,原子性

事务包含的操作要么成功,要么失效回滚,如果成功,则应用安全应用于数据库,失效则不能对数据库有任何影响。

 

2、Consistency,一致性

事务必须使数据库从一个一致状态换到另一个一致状态,也就是说一个事务执行之前和执行之后都必须处于一致状态。

 

3、隔离型,Isolation

当多个用户并发访问数据库时,数据库为每个用户开启的事务,不被其它事务干扰,即并发访问事务相互隔离。

 

4、持久性,Durability

一个事务一旦被提交了,那么对数据库中的数据的干煸就是永久性的。即使在数据库遇到故障的情况下也不会丢失提交的操作。

 

如果不考虑事务的隔离型,那么会发生几种问题。

1、脏读,在一个事务里读取了另一个未提交的事务中的数据。

2、不可重复度,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。

3、幻读。是事务非独立执行时发生的现象。例如事务T1对一个表中所有的行的某个数据项做了从1修改为2的操作,这时事务T2对这个表中插入了一行数据项,1。这时查看数据发现有一行没有修改,其实这是T2插进来的。

幻读和不可重复度都是读取了另一条已提交的事务,不同的是不可重复读查到的是同一数据,幻读查看了批数据。

 

MySql四种隔离级别

1、Serializable(穿行化),都能避免

2、可重复读,可避免脏读,不可重复读

3、读已提交,可避免脏读的发生

4、读未提交,最低级别。

ACID

标签:现象   多次   mysq   可重复   个数   不同的   做了   情况   相互   

原文地址:https://www.cnblogs.com/ylxn/p/10354142.html

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