一、事务概念

事务就是一个程序执行单元,里面的操作要么都做,要么都不做。

二、事务特性

事务有四个非常重要的特性(ACID):

原子性(Atomicity):事务是不可分割的整体,所有操作要么全做,要么全不做;只要事务中有一个操作出错,回滚到事务开始前状态,即之前已执行的操作无效。

一致性(Consistency):事务执行前后,从一个一致性状态到另一个一致性状态;比如A向B转账(A、B总金额就是一个一致性状态),不可能出现A扣了钱。B却没收到。

隔离性(Isolation):多个并发事务之间相互隔离, 不能相互干扰。

持久性(Durablity):事务完成后,对数据库的更改是永久保存的,不能回滚。

三、事务并发问题

1、脏读:一个事务读取了另一个事务未提交的数据。

2、不可重复读:一个事务多次读取同一数据,得到了不同的值。(被另一个事务更新了--update)

3、幻读:也是多次读取得到的结果不一致。(被另一个事务增加或删除了记录--insert/delete)

四、事务隔离级别(MySQL)

1、读未提交(read-uncommitted)

2、读已提交(read-committed):解决脏读

3、可重复读(Repeatable read):解决脏读、不可重复读

4、串行化(Serializable):解决脏读、不可重复读、幻读

MySQL默认的隔离级别是read-committed,级别越高,性能就越低。

转载于:https://www.cnblogs.com/jayxuan/p/10712645.html

MySQL数据库事务及其特性相关推荐

  1. mysql数据库事务传播特性_什么是事务的传播特性?

    我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置 ...

  2. mysql数据库事务四大特性的实现原理

    事务的四大特性 原子性.一致性.隔离性.持久性 原子性实现 原子性保证事务要么全执行成功,要么全不执行. mysql使用回滚机制实现,undo log实现回滚. 事务执行 insert.update. ...

  3. MySQL数据库事务的特性

    原子性 原子性:事务的不可分割,组成事务的各个逻辑单元不可分割. 一致性 一致性:事务执行的前后,数据完整性保持一致. 隔离性 隔离性:事务执行不应该受到其他事务的干扰. 持久性 持久性:事务一旦结束 ...

  4. MySQL数据库事务的四大特性

    MySQL数据库事务的四大特性以及事务的隔离级别_l1394049664的博客-CSDN博客_mysql数据库事务 深入学习MySQL事务:ACID特性的实现原理 - 编程迷思 - 博客园

  5. MySQL学习-MySQL数据库事务

    MySQL数据库事务 1.事务概述 1.什么是事务? 2.和事务相关的语句只有:**DML语句.(insert delete update)** 3.假设所有的业务都能使用1条DML语句搞定,还需要事 ...

  6. PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的...

    PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报  分类: MYSQL数据库(5)  PostgreSQL 是一个自由的对象-关系数据库服务器(数据库 ...

  7. MySQL数据库事务、mybatis框架、spring框架、springmvc框架、永和大王门店管理系统(框架第二部分)

    第十二章 MySQL数据库事务 一. 事务及四大特性 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行 ...

  8. mysql数据库事务隔离级别演示

    mysql数据库事务隔离级别演示 关键词: 一.基本概念 二.事务的四个特性(ACID) 三.事务的用法 3.1 相关命令 3.2 使用步骤 四.数据库的隔离级别 五.示例演示(每组事务结束手动com ...

  9. MySQL中事务四大特性的实现详解

    MySQL事务的四大特性的实现 基本概念 原子性实现 隔离性实现 已提交读 可重复读 持久性实现 日志文件刷新策略 基本概念 事务的四大特性ACID : 原子性Atomic : 事务的所有的SQL操作 ...

最新文章

  1. 自动驾驶公司Momenta完成超2亿美元融资,估值超10亿美元
  2. 7 个日常实用的 Shell 拿来就用脚本实例!
  3. invalid character in identifier
  4. MyEclipse优化设置(最详细版本)
  5. .NET实现之(WebService数据提供程序)
  6. 数据库 CURD测试题【简单】
  7. gateway动态路由_Java如何用Spring Cloud奇淫小技巧 来使用gateway作为服务网管
  8. 小小c语言贪吃蛇思路,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
  9. mysql explain ref const_MySQL EXPLAIN 详解
  10. win10家庭版系统安装SQL2005
  11. 数据结构课程设计,迷宫问题求解
  12. 二种方法js实现轮播图自动切换
  13. 4.前端注册表单验证 表单回填
  14. 华为手机 计算机 怎么传文件,华为手机如何与电脑互传文件?华为手机不用数据线和电脑互传文件...
  15. 通过MapReduce统计PV和UV
  16. 如何通过网站域名查询服务器地址,如何根据域名查看服务器地址
  17. 探索sklearn的数据集——以红酒数据集为例
  18. verilog 1bit跨时钟同步器
  19. java面试看这一篇就够了
  20. python安装绘图库matplotlib_python绘图库Matplotlib的安装

热门文章

  1. “中国锦鲤” 信小呆辞职旅行,这辈子真的不用工作了?
  2. OAuth 授权的工作原理是怎样的?
  3. Spring容器创建流程(5)bean后置处理之注册
  4. c语言一次绑定多个控件,一入前端深似海,从此红尘是路人系列第九弹之如何实现一个双向数据绑定...
  5. jetty java heap space_JFinal + HTTL + jdk1.7 启动服务内存溢出,Java heap space 但jdk1.6正常...
  6. c函数strstr和sscanf组合高级技巧
  7. mysql运维命令_运维常用 MySQL 命令
  8. vb.net word 自定义工具栏_word重点标记新玩法:应用绘图工具手写笔进行划线涂抹...
  9. 为啥我从后台查到的值在页面显示的是undefined_【java笔记】046天,作购物车页面,学习JavaScript...
  10. 【java】java 一个线程占用多少内存