MySQL数据库事务及其特性
一、事务概念
事务就是一个程序执行单元,里面的操作要么都做,要么都不做。
二、事务特性
事务有四个非常重要的特性(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数据库事务及其特性相关推荐
- mysql数据库事务传播特性_什么是事务的传播特性?
我们都知道事务的概念,那么事务的传播特性是什么呢?(此处着重介绍传播特性的概念,关于传播特性的相关配置就不介绍了,可以查看spring的官方文档) 在我们用SSH开发项目的时候,我们一般都是将事务设置 ...
- mysql数据库事务四大特性的实现原理
事务的四大特性 原子性.一致性.隔离性.持久性 原子性实现 原子性保证事务要么全执行成功,要么全不执行. mysql使用回滚机制实现,undo log实现回滚. 事务执行 insert.update. ...
- MySQL数据库事务的特性
原子性 原子性:事务的不可分割,组成事务的各个逻辑单元不可分割. 一致性 一致性:事务执行的前后,数据完整性保持一致. 隔离性 隔离性:事务执行不应该受到其他事务的干扰. 持久性 持久性:事务一旦结束 ...
- MySQL数据库事务的四大特性
MySQL数据库事务的四大特性以及事务的隔离级别_l1394049664的博客-CSDN博客_mysql数据库事务 深入学习MySQL事务:ACID特性的实现原理 - 编程迷思 - 博客园
- MySQL学习-MySQL数据库事务
MySQL数据库事务 1.事务概述 1.什么是事务? 2.和事务相关的语句只有:**DML语句.(insert delete update)** 3.假设所有的业务都能使用1条DML语句搞定,还需要事 ...
- PostgreSQL 优势,MySQL 数据库自身的特性并不十分丰富,触发器和存储过程的支持较弱,Greenplum、AWS 的 Redshift 等都是基于 PostgreSQL 开发的...
PostgreSQL 优势 2016-10-20 21:36 686人阅读 评论(0) 收藏 举报 分类: MYSQL数据库(5) PostgreSQL 是一个自由的对象-关系数据库服务器(数据库 ...
- MySQL数据库事务、mybatis框架、spring框架、springmvc框架、永和大王门店管理系统(框架第二部分)
第十二章 MySQL数据库事务 一. 事务及四大特性 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行 ...
- mysql数据库事务隔离级别演示
mysql数据库事务隔离级别演示 关键词: 一.基本概念 二.事务的四个特性(ACID) 三.事务的用法 3.1 相关命令 3.2 使用步骤 四.数据库的隔离级别 五.示例演示(每组事务结束手动com ...
- MySQL中事务四大特性的实现详解
MySQL事务的四大特性的实现 基本概念 原子性实现 隔离性实现 已提交读 可重复读 持久性实现 日志文件刷新策略 基本概念 事务的四大特性ACID : 原子性Atomic : 事务的所有的SQL操作 ...
最新文章
- 自动驾驶公司Momenta完成超2亿美元融资,估值超10亿美元
- 7 个日常实用的 Shell 拿来就用脚本实例!
- invalid character in identifier
- MyEclipse优化设置(最详细版本)
- .NET实现之(WebService数据提供程序)
- 数据库 CURD测试题【简单】
- gateway动态路由_Java如何用Spring Cloud奇淫小技巧 来使用gateway作为服务网管
- 小小c语言贪吃蛇思路,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
- mysql explain ref const_MySQL EXPLAIN 详解
- win10家庭版系统安装SQL2005
- 数据结构课程设计,迷宫问题求解
- 二种方法js实现轮播图自动切换
- 4.前端注册表单验证 表单回填
- 华为手机 计算机 怎么传文件,华为手机如何与电脑互传文件?华为手机不用数据线和电脑互传文件...
- 通过MapReduce统计PV和UV
- 如何通过网站域名查询服务器地址,如何根据域名查看服务器地址
- 探索sklearn的数据集——以红酒数据集为例
- verilog 1bit跨时钟同步器
- java面试看这一篇就够了
- python安装绘图库matplotlib_python绘图库Matplotlib的安装
热门文章
- “中国锦鲤” 信小呆辞职旅行,这辈子真的不用工作了?
- OAuth 授权的工作原理是怎样的?
- Spring容器创建流程(5)bean后置处理之注册
- c语言一次绑定多个控件,一入前端深似海,从此红尘是路人系列第九弹之如何实现一个双向数据绑定...
- jetty java heap space_JFinal + HTTL + jdk1.7 启动服务内存溢出,Java heap space 但jdk1.6正常...
- c函数strstr和sscanf组合高级技巧
- mysql运维命令_运维常用 MySQL 命令
- vb.net word 自定义工具栏_word重点标记新玩法:应用绘图工具手写笔进行划线涂抹...
- 为啥我从后台查到的值在页面显示的是undefined_【java笔记】046天,作购物车页面,学习JavaScript...
- 【java】java 一个线程占用多少内存