Mysql的四种隔离级别是什么

发布时间:2020-12-03 09:47:01

来源:亿速云

阅读:116

作者:小新

这篇文章给大家分享的是有关Mysql的四种隔离级别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

mysql有4种隔离级别,分别为:读未提交内容、读取提交内容、可重复读、可串行化。

Mysql的四种隔离级别

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

读未提交内容(read-uncommitted)

在该隔离级别中,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。

该隔离级别会出现的问题是:脏读(Dirty Read),即读取到了未提交的数据。

读取提交内容(read-committed)

这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。

该隔离级别会出现的问题是:不可重复读(Nonrepeatable Read),即不可重复读意味着我们在同一个事务中执行完全相同的select语句时可能看到不一样的结果。

导致这种情况的原因可能有:

1)、有一个交叉的事务有新的commit,导致了数据的改变;

2)、一个数据库被多个实例操作时,同一事务的其他实例在该实例处理其间可能会有新的commit

可重复读(repeatable-read)

这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。

不过理论上,这会导致另一个棘手的问题:幻读 (Phantom Read)。

简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。

InnoDB和Falcon存储引擎通过多版本并发控制(MVCC,Multiversion Concurrency Control)机制解决了该问题。

可串行化(serializable)

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

在这个级别,可能导致大量的超时现象和锁竞争。

感谢各位的阅读!关于Mysql的四种隔离级别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

mysql什么级别数据库_Mysql的四种隔离级别是什么相关推荐

  1. 数据库事务的四种隔离级别

    文章目录 1. 引言 2. 事务隔离级别 2.1 事务四种隔离级别 2.2 查看隔离级别 3. 脏读/幻读/不可重复读 3.1 脏读 3.2 不可重复读 3.3 幻读 4. 总结: 1. 引言 &qu ...

  2. 【mysql篇】mysql数据库知识点(四种语言)

    mysql数据库语言分为四种DDL,DQL,DML,DCL下面我们一一介绍: 注:(上图取自黑马程序员的课程APP中,这些笔记也是看了黑马程序员的课程之后做的): 一,       DDL(data ...

  3. MySQL ACID及四种隔离级别的解释

    以下内容出自<高性能MySQL>第三版,了解事务的ACID及四种隔离级有助于我们更好的理解事务运作. 下面举一个银行应用是解释事务必要性的一个经典例子.假如一个银行的数据库有两张表:支票表 ...

  4. 数据库常见的四种索引

    数据库常见的四种索引 1.普通索引:主要以B+树和哈希索引为主,任务是加快对数据的访问速度,常用于查询和排序的条件,值可以为空并没有唯一性的限制 2.唯一性索引:与普通索引类似,不同的是唯一性索引,索 ...

  5. php 数组存入mysql_PHP将数组存入数据库中的四种方式

    1.implode()和explode()方式 2.print_r()和自定义函数方式 3.serialize()和unserialize()方式 4.json_encode()和json_decod ...

  6. PHP将数组存入数据库中的四种方式

    最近突然遇到了一个问题,如何用PHP将数组存入到数据库中,经过自己的多方查找和研究,总结了以下四种方法: 1.implode()和explode()方式 2.print_r()和自定义函数方式 3.s ...

  7. 数据库备份的四种方法 软件功能需求分析

    数据库备份的四种方法: l 全备份:创建备份完成时数据库内存在的数据的副本. l 差异备份:只记录自上次数据库备份后发生更改的数据.差异数据库备份比数据库备份小,而且备份速度快,因此可以更经常地备份, ...

  8. 【美联储圣路易斯分行在其研究数据库中追踪四种数字货币价格】

    gbcax链交所 [美联储圣路易斯分行在其研究数据库中追踪四种数字货币价格] 据coindesk消息,美国联邦储备银行圣路易斯分行正在其研究数据库Federal Reserve Economic Da ...

  9. mysql隔离级别 简书_数据库事务和四种隔离级别

    什么是事务 事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit),它通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起 ...

最新文章

  1. 第十七届智能车竞赛英飞凌专题培训 ——英飞凌无刷电机驱动专题
  2. matlab篮球队需要五名队员,MATLAB应用与数学欣赏.doc
  3. 第八章-数据类、结构
  4. c++结构体定义和使用_[day day go]结构体amp;给结构定义方法
  5. 通过反射创建动态代理对象(三)
  6. SQL2000自动备份
  7. MyEclipse 的 TCP/IP Monitor 的使用
  8. H3C 环路避免机制六:触发更新
  9. 就9.5面试做个小结
  10. TcxButtonEditProperties取得TcxGridDBTableView
  11. win10引导安卓x86_实用教程,教你如何安装Win10+安卓双系统
  12. OpenCV精进之路(十八):工具——“全能扫描王“扫描软件
  13. 品味之旅见行见心 ——香港科大EMBA郎酒庄园深度体验之旅
  14. android iCloud 短信,云助手 基于安卓的iCloud
  15. 游戏HTML翻翻乐,大班益智游戏翻翻乐优秀教案
  16. Excel 18个快捷键
  17. Java 相关的技术摘要
  18. 计算机网络技术动态路由配置,计算机网络实验六动态路由的配置
  19. 讲解关于编写跨平台Java程序时的注意事项 选择自 tiewen 的 Blog
  20. TheBrain 12:思维导图规则的改变者?

热门文章

  1. Python: ljust()|rjust()|center()字符串对齐
  2. 一文读懂:从 Python 打包到 CLI 工具
  3. Linux ubuntu16.04 安装opencv4教程(源码编译)
  4. VMWare ubuntu虚拟机异常关闭打开报错:该虚拟机似乎正在使用中(下班虚拟机最好关闭,免得又异常关闭导致问题)(千万别在虚拟机下win+L锁屏,解锁后就打不开虚拟机了)
  5. arm-linux下如何安装GDB?pc-linux下如何升级GDB?
  6. linux——不同系统间的文件传输和打包压缩
  7. Windows10彻底禁止更新
  8. vue教程3:vue常用指令
  9. 减法公式运算法则_人教版数学七年级上册1.3.2有理数的减法视频讲解+知识点+同步练习...
  10. synchronized 和 volatile 关键字的作用