所谓的事物就是一组原子性的SQL语句,或者说是一个独立的工作单元。

  1、事物拥有四大特征:

    ①原子性(atomicity):一个事物必须被分为一个不可分割的的最小单元,整个事物中的所有操作要么全部提交,要么全部回滚,这就是事物的原子性。

    ②一致性(consistency):数据库总是从一个一致性的状态转换到另一个一致性的状态。即数据库事物不能破坏数据的完整性和一致性。

    ③隔离性(isolation):指的是在并发环境中,多个事物处理相同的数据,每个事物都有各自的完整数据空间。

    ④持久性(durability):一旦事物提交,则其所做的修改就会永久保存到数据库中。

    事物的原子性、一致性、持久性三个特征是通过事物日志来维持的,事物日志记录了对事物的每次的更新,如果因为某些原因事物出现错误,则可以通过撤销事物对数据库  的更改,是事物回滚到数据库执行事物之前的初始状态。

   事物的隔离性是通过锁机构来实现的,拥有各自的独立空间。

  2、事物的隔离级别

    SQL标准定义了四种隔离级别:

    无提交读(Read Uncommitted):在Read Uncommitted级别中,事物的修改,即使没有提交,对其他事物也是可见的。事物可以读取未提交的数据,这也被称为脏读(Dirty Read).

    提交读(Read Committed):一个事物从开始知道事物提交之前,所做的任何修改对其他事物都是不可见的,这也叫不可重复读(nonrepeatable),执行两次相同的查询,得到不同的结果。

    可重复读(Repeatable Read):该级别保证了同一个事物中多次读取同样的结果是一致的。可能会导致幻读。

    可串行化(Serializable):最高的隔离级别。通过强制事物串行执行,避免了前面说的幻读的问题。

mysql的事物的更多相关文章

  1. MySQL分布式事物(XA事物)的使用

    有时一个系统的数据 放在不同的库之中.如果用普通的事物 一个分支库提交成功了,另外一个分支库提交失败了, 这候 两个库没有同步的成功或者失败.会导致系统数据的不完整. 对于处理这种情况 MySQL有了 ...

  2. MYSQL的事物四大特性

    MYSQL的事物四大特性(ACID) 1.什么是事物? 事务(Transaction)是并发控制的基本单位.所谓的事务,它是由单独单元的一个或者多个sql语句组成,在这个单元中,每个mysql语句是相 ...

  3. 【译文】MySQL InnoDB 事物模型

    InnoDB事物模型 事物的隔离级别 自动提交,提交和回滚 一致的非锁定读 锁定读 在InnoDB事物模型中,目标是为了多版本数据库和传统的俩段锁协议的最佳实践(多版本并发控制).InnoDB在行级别 ...

  4. MySQL中事物的详解

    1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元,该工作单元中所有操作要么同时成功,要么同时失败.事物有如下四个特性,ACID简称“酸性”. 1)原子性:工作单元中所有的操作要么 ...

  5. MYSQL 的事物处理(四大特性)

    什么是事物? MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库 ...

  6. mysql之事物

    1.事物,在事物中的sql语句,要么全部执行成功,要么全部执行失败,不会出现一条sql执行成功了,一条sql执行失败的问题. 2.开启事物:就是关闭mysql自己的自动提交事物的方式 3.commit ...

  7. mysql 套事物实例

    public static DataSet GetPPriceList(string aircompany, string departPort, string arrivePort, string ...

  8. 高性能mysql的事物隔离级别

    数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且,在事务的并发操作中可能 ...

  9. Mysql 索引 事物

    索引 针对庞大数据 加速查询 缺点 占用空间 分类: 普通索引: 通过 index 创建 唯一索引: 就是 unique key 主键索引: 就是 primary key 联合索引(多列)" ...

随机推荐

  1. 设计模式--模板方法 And State模式

    1.模板方法   钩子: 在抽象基类已经有默认的定义,子类选择是否覆盖它 在模板方法模式中,  抽象基类中使用 钩子函数(子类视情况是否覆盖)  来达到控制模板方法中  流程控制的 目的 设计原则: ...

  2. Microsoft.AlphaImageLoader过滤评论

    Microsoft.AlphaImageLoader是IE滤镜的一种,其主要作用就是对图片进行透明处理.尽管FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,可是就IE5-IE6而言还是 ...

  3. [Unity3D]Unity3D游戏开发之Logo渐入渐出效果的实现

    ---------------------------------------------------------------------------------------------------- ...

  4. Scala课程01

    Scala课程01 简介 由于本人刚毕业,也是从事软件开发相关的工作.想再学习一下关于大数据.移动互联网.云计算相关的技术.为我的未来打好基础.并且从零开始学习大数据相关的知识,脚踏实地的走好每一步, ...

  5. In Oracle 11g, how to change the order of the results of a sql without “order by”?(转)

    oracle 11g 当sql语句中不加order by的时候,好像是按rowid的顺序返回结果的.我也看过一些相关的文档,oracle的官方意思就是不加order by,就不保证输出的顺序. 那么, ...

  6. Android dumpsys命令的使用

    Android提供的dumpsys工具能够用于查看手机中的应用程序和系统服务信息与状态,手机连接电脑后能够直接命令行运行adb shell dumpsys 查看全部支持的Service可是这样输出的太 ...

  7. CSS定位:几种类型的position定位的元素

    当人们刚接触布局的时候都比较倾向于使用定位的方式.因为定位的概念看起来好像比较容易掌握.表面上你确切地指定了一个块元素所处的位置那么它就会坐落于那里.可是定位比你刚看到的时候要稍微复杂一点.对于定位来 ...

  8. T4模版引擎之生成数据库实体类

    在通过T4模版引擎之基础入门 对T4有了初步印象后,我们开始实战篇.T4模板引擎可以当做一个代码生成器,代码生成器的职责当然是用来生成代码(这不是废话吗).而这其中我们使用的最普遍的是根据数据库生成实 ...

  9. ReportNG测试报告模板定制

      部分参考:http://tech.it168.com/a2013/0906/1530/000001530755_3.shtml ReportNG提供了简单的方式来查看测试结果,并能对结果进行着色, ...

  10. 源码安装saltstack的时候遇到的问题

    公司的系统都是内网,无法连接互联网,所以没办法只有源码安装了. 看了下saltstack的官网,需要安装的包有 https://docs.saltstack.com/en/latest/topics/ ...