mysql 事物四大特性和事物的四个隔离

1、事物四大特性(ACID)

  1. 原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。
  2. 一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。
  3. 隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。
  4. 持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。

2、事务的隔离级别

Read uncommitted

字面意思是读未提交,一个事务可以读取另一个未提交事务的数据,即出现脏读。

Read committed

字面意思是读提交,一个事务要等另一个事务提交后才能读取数据,也就是不可重复读(每次读取的结果不一样)。若有事务对数据进行更新(UPDATE)操作时,读操作事务要等待这个更新操作事务提交后才能读取数据,可以解决脏读问题。

Repeatable read

字面意思是重复读,就是在开始读取数据(事务开启)时,不再允许修改操作,也就是幻读。重复读可以解决不可重复读问题。不可重复读对应的是修改,即UPDATE操作。但是可能还会有幻读问题。因为幻读问题对应的是插入INSERT操作,而不是UPDATE操作。

Serializable

字面意思序列化,Serializable 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。

大多数数据库默认的事务隔离级别是Read committed,比如Sql Server , Oracle。MySQL的默认隔离级别是Repeatable read。

以上4种事务隔离级别,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。

原文地址:https://www.cnblogs.com/kingsonfu/p/10409775.html

时间: 2024-10-13 10:40:28

mysql 事物四大特性和事物的四个隔离的相关文章

Mysql数据库四大特性、事物的四个隔离、基本MySQL语句、独立表空间

Mysql数据库四大特性.事物的四个隔离.基本MySQL语句.独立表空间 本人学习mysql的时候感觉笔记有点散所以自己做了一个整合,而且有些概念介绍的太官方了,所以自己根据理解总结了一下.(有不对的请指点!) mysql: sql:关系型数据库:(复杂的关系形数据库). nosql:非关系型数据库:(储存的格式很简单) key,value(memcached),user1:1,user2:2(存在内存里) 事务:一组原子性的SQL查询,或者是一个或多个sql语句组成的独立工作单元:操作要么都执

数据库事物四大特性-ACID

转载自:http://blog.csdn.net/logogcn/article/details/6828531 事务的:原子性.一致性.分离性.持久性 事物(transaction)是由一些列操作序列构成的执行单元,这些单元要么都做,要么不做,是一个不可分割的工作单元. 数据库事物的四个基本性质(ACID) 1.原子性(Atomicity) 指的是事物中包含的所有操作要么全做,要么全不做(all or none). 2.一致性(consistency) 在事物开始以前,数据库处于一致性的状态,

mysql的事务四个特性以及事务的四个隔离级别

一.事务四大属性 分别是原子性.一致性.隔离性.持久性. 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. 2.一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态.举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账.转几次账,事务

接口和抽象类的对比,面向对象的三大特性和四大特性

Day09_SHJavaTraing_4-14-2017 一.接口和抽象类的对比1.相同点    ①都位于继承的顶端,用于被其他类实现或继承    ②都不能直接实例化对象    ③都包含抽象方法,其子类都必须覆写这些抽象方法2.区别 2.1从声明上: ①抽象类是一个类,需要使用关键字class声明        ②接口不是一个类,使用关键字interface声明 2.2从能够书写的成员上看: ①抽象类可以书写类中的所有成员 ②接口中只能书写成员变量和抽象函数(从JDK8开始,接口中可以有实现的函

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

数据库的事务:事务就是单个数据逻辑单元组成的对象操作集合,而数据库终极目标就是是数据库从一个一致的状态转换到另一个一致的状态. 事务的四大特性(ACID): 原子性 Atomicity 事物包含的所有数据库操作要么全部成功,要么全部失败回滚 一致性 Consistency 一个事务执行前后都必须处于一致性状态 隔离性 Isolation 一个事务未提交的业务结果对于其它事务不可见 持久性 Durability 一个事务一旦被提交了那么对数据库中数据的改变就是永久性的 数据库中读写时的安全问题:

事务、事务的四大特性(ACID)、三大并发问题、四种锁、事务的隔离级别

一.什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结果有两种:当事务中的所有步骤全部成功执行完成时,事务提交.如果其中一个步骤失败,将发生回滚操作,撤消之前到事务开始时的所有操作. 二.事务的四个特性 事务具有四个特征:原子性( Atomicity ).一致性( Consistency ).隔离性( Isolation )和持续性( Durabil

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

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执

hibernate+mysql时,会出现事物不管用

hibernate+mysql时,会出现事物不管用(transation.rollback();没效果,数据在session.flush后直接进行了数据库操作) 很可能出现的问题是在mysql上..., 在/etc/my.cnf中[mysqld]下加上default-storage-engine=InnoDB ,效果是使用InnoDB引擎 show engines;命令可以查看当前使用的是什么数据库引擎

(转) 一步一步学习ASP.NET 5 (四)- ASP.NET MVC 6四大特性

转发:微软MVP 卢建晖 的文章,希望对大家有帮助.原文:http://blog.csdn.net/kinfey/article/details/44459625 编者语 : 昨晚写好的文章居然csdn不审核,这个也难怪人,但自己比较忙没办法.分享继续,今天谈ASP.NET MVC 6. 我蛮喜欢Ruby On Rails 这种约定胜于配置的框架,在.NET 有ASP.NET MVC 和Java有Play! Framework .  ASP.NET MVC 版本基本上每年一更新,从不让你失望.我