[数据库] 数据库的四大特性acid及事务的隔离级别

转载 2016年08月30日 16:19:09


ACID

A - atomicity 原子性,指事务包含的所有操作要么全部成功,要么全部失败回滚,不可能停滞在某个中间环节

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

I – Isolation 隔离性,当多个用户并发访问数据库时,比如操作同一张表,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

D – Durability 持久性,指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失事务的操作。

 

并发操作会带来哪些数据不一致性? (ABC)

A 丢失修改:两个事务读入同一数据并修改,T2提交的结果破坏了T1提交的结果,比如T1 读A修改为A-1, T2读A修改为A-1,实际上T2读的是A-1,修改后变为A-2.

 

B 不可重复读:在一个事务两次读数据之间的间隙,另一个事务对该数据访问并进行了修改(同一条件,不同时间,读取的数据值不同,存在update)

 

C 脏读:是指当一个事务对数据进行了修改但还没提交到数据库时,另一个事务访问并使用了这个数据。



 

幻影读: 同一事务在两个不同的时间段执行相同的查询条件得到的结果不一致(同样的条件,第一次和第二次读出的记录个数不一样,存在add/delete记录)

 

 现在来看看MySQL数据库为我们提供的四种隔离级别:

  ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。

  ② Repeatable read (可重复读):可避免脏读、不可重复读的发生。

  ③ Read committed (读已提交):可避免脏读的发生。

  ④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。

 

在MySQL数据库中默认的隔离级别为Repeatableread (可重复读)。

在MySQL数据库中查看当前事务的隔离级别:

    select @@tx_isolation;

 

在MySQL数据库中设置事务的隔离 级别:

    set  [glogal | session]  transaction isolation level 隔离级别名称;
 
    set tx_isolation=’隔离级别名称;’

相关文章推荐

Php的mail()函数的使用

第一次写博客,如果这篇博文帮到了你,请给我留言点赞,算是对我的鼓励 开发环境:appserv-win32-2.5.10 一、在http://glob.com.au/sendmail/中下载sendem...

php脚本中利用mail函数发送邮件及问题归纳

最近在学php脚本语言,书中有一个实例:服务器端将浏览器发送的信息通过php脚本,利用mail函数发送到一个邮箱。自己讲书中实例代码上传至服务器,在浏览器上填写表单,并提交后,邮箱迟迟收不到邮件。 ...

数据库事务的ACID特性和隔离级别

1. 事务的四个特性 数据库事务(Transaction)是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。一方面,当多个应用程序并发访问数据库时,事务可以在应用程序间...

数据库事务的四大特性与隔离级别及测试

四大特性⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果...

数据库事务的四大特性及隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。   如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity)...

MySql--数据库事务四大特性以及隔离级别

事务的 四大特性(ACID):原子性、一致性、隔离性、持久性。 ⑴ 原子性(Atomicity)   原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,换言之,事务的操作如果成功就必...
  • Gol_s
  • Gol_s
  • 2017年06月08日 14:32
  • 359

数据库事务的四大特性以及事务的隔离级别

原文地址:http://www.cnblogs.com/fjdingsd/p/5273008.html       本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级...

数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。   如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity)...

数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。   如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity)   ...

事务知识点补充(ACID和数据库隔离级别)

数据库事务正确执行的四个基本要素: 1.原子性:简单说就是:  整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。 2.一致性:事务必须始终保持系统处于一致的状...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[数据库] 数据库的四大特性acid及事务的隔离级别
举报原因:
原因补充:

(最多只允许输入30个字)