美文网首页
MySQL的隔离机制

MySQL的隔离机制

作者: 青青玉立 | 来源:发表于2018-05-21 17:45 被阅读0次

Read Uncommitted(读取未提交内容)

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

Read Committed(读取提交内容)

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

Repeatable Read(可重读)

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

Serializable(可串行化)

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

可能产生的问题

相关文章

  • MySQL的隔离机制

    Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔...

  • MySQL相关知识点

    MySQL(5)| 五分钟搞清楚 MVCC 机制MySQL (三) | 五分钟搞清楚MySQL事务隔离级别

  • mysql事物隔离机制

    Mac系统mysql设置事务隔离级别 事务隔离级别指的是在处理同一个数据的多个事务中,一个事务修改数据后,其他事务...

  • MySQL的事务隔离机制

    PPT 一、什么是MySQL的事务? 当多个用户访问同一份数据时,一个用户再更改数据的过程中可能有其他用户同时发起...

  • MySQL相关(一)——— 事务和锁

    事务的隔离级别和锁机制 【1】InnoDB 事务隔离级别和锁 【2】脏读、不可重复读、幻读 mysql 相关 常用...

  • 数据库锁及事务整理

    参考文档 MySQL的事务和隔离级别理解事务 - MySQL 事务处理机制《MySQL技术内幕》读书笔记一文说尽M...

  • Mysql InnoDB事物隔离机制

    1. 事务(Transaction)及其ACID属性 原性性(Actomicity):事务是一个原子操作单元,其对...

  • 事务、锁与MVCC

    目标与手段 MySQL的事务提供了四种隔离级别,这个是最终的目的,其余所有的锁机制、MVCC机制都是为此服务的。 ...

  • 聊聊MySQL的隔离级别

    原文:聊聊MySQL的隔离级别 | MySQL隔离级别原理参考:oracle - mysql - 数据库事务隔离级...

  • MySQL锁管理(并发锁,行锁,表锁,预加锁,全局锁等等)

    MySQL中并发和隔离控制机制Meta-data元数据锁:在table cache缓存里实现的,为DDL(Data...

网友评论

      本文标题:MySQL的隔离机制

      本文链接:https://www.haomeiwen.com/subject/xplqjftx.html