一、隔离级别

隔离级别(Isolation Level)

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。

Read Uncommitted(读取未提交内容)

在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。

Read Committed(读取提交内容)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别 也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果。

Repeatable Read(可重读)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

Serializable(可串行化)

这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。

这四种隔离级别采取不同的锁类型来实现,若读取的是同一个数据的话,就容易发生问题。例如:

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

具体解释可见:  http://xm-king.iteye.com/blog/770721

二、传播级别

mysql级别_mysql事务级别相关推荐

  1. spring mysql事物级别_mysql事务级别和spring中应用

    一.事务的基本要素(ACID) 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有 ...

  2. mysql spring隔离级别_MySQL事务与Spring隔离级别实现

    1.事务具有ACID特性 原子性(atomicity):一个事务被事务不可分割的最小工作单元,要么全部提交,要么全部失败回滚. 一致性(consistency):数据库总是从一致性状态到另一个一致性状 ...

  3. mysql 事务 异常_mysql事务级别以及相应的异常现象

    模拟事务级别现象 1.打开mysql的命令行,将自动提交事务给关闭 --查看是否是自动提交 1表示开启,0表示关闭 select @@autocommit; --设置关闭 set autocommit ...

  4. php mysql隔离_mysql隔离级别有几种

    mysql隔离级别有4种,分别是:1.Read Uncommitted(读取未提交内容):2.Read Committed(读取提交内容):3.Repeatable Read(可重读):4.Seria ...

  5. mysql四种事务级别_【MySQL 知识】四种事务隔离级别

    摘要:本篇文章主要是为了对MySQL的四种事务隔离级别的介绍.为了保证数据库的正确性与一致性,数据库事务具有原子性(Atomicity).一致性(Consistency).隔离性(Isolation) ...

  6. mysql 并发_Mysql事务,并发问题,锁机制

    1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...

  7. mysql 默认事务隔离级别_MySQL 事务隔离级别详解

    个人公众号『码农札记』,欢迎关注,查看更多精彩文章. 简介: MySQL的事务隔离级别一共有四个,分别是读未提交.读已提交.可重复读以及可串行化. 四个特性ACID 原子性 (Atomicity) 事 ...

  8. mysql oracle 默认事务级别_oracle 默认的事务隔离级别

    2.隔离级别实现 上一节介绍了ANSI定义的3种异象,及根据禁止异象的个数而定义的事务隔离级别.因为不存在严格.严谨的"官方"定义,各主流 2.1 Lock-based 隔离级别实 ...

  9. 13.简述MYSQL的权限级别_MySQL权限级别

    MySQL权限级别 MySQL 中的权限分为五个级别,分别如下: 1.Global Level: Global Level 的权限控制又称为全局权限控制,所有权限信息都保存在mysql.user 表中 ...

最新文章

  1. Java的i =i_java中i = i++和i =++i的深入讲解
  2. MySQL中删除重复数据
  3. 在DataGridView中添加行号
  4. parted--大于2T的分区工具
  5. Three.js入门和搭建HelloWorld
  6. Java集合(一):Java集合概述
  7. kitti数据集反代下载
  8. JMP M16:64
  9. javascript 搜索并高亮显示
  10. 集成融云没有ipc进程的天坑
  11. android实现刷卡功能,Android 实现银联刷卡机消费后手动签名的功能(示例代码)
  12. 虾皮台湾店标价是用台币吗?要如何定价?
  13. OS课程 ucore_lab1实验报告
  14. Dynamics finance and operation官方虚拟机10.0.24使用私人账号访问
  15. C++-容器-string:数字to字符串【std::to_string()】、字符串to数字【std::stoi、stol、stoll、stoul、stoull、stof、stod、stold】
  16. Windows 小技巧10--Windows常见软件、系统配置
  17. edg击败we视频_LPL夏季赛:EDG零封V5获三连胜 OMG2-1击败WE
  18. 如何创建自己的 Google Chrome 扩展程序
  19. App逆向案例 X嘟牛 - Frida监听 WT-JS工具还原(一)
  20. logic原理图板框制作

热门文章

  1. bitmap index的优化案例
  2. transforms_list = [c_vision.Decode(), c_vision.Rescale(1.0 / 127.5, -1.0)]这个是图像标准化【-1,1】是吗?
  3. 野火i.MX6ULL Linux开发板资料
  4. 三星手机电池循环清零代码_数据结构(C语言)-循环队列基本操作
  5. 无线电台、无线网桥、网络结构相关知识总结
  6. 小程序文档整理之 -- API(WXML节点信息)
  7. 关于傅里叶的总结(一)
  8. 02 java语言基础
  9. 上海交通大学计算机科学杨岚青博士,孤立性肺结节外科诊断相关问题的研究
  10. 【数据结构】CH2 线性表的链式存储结构