美文网首页MySQL锁首页推荐干货在这里
mysql锁(六)innodb之事务的隔离级别

mysql锁(六)innodb之事务的隔离级别

作者: b12af9baadf4 | 来源:发表于2016-09-14 17:20 被阅读655次

****事务隔离级别出现的原因****

任何一个方案的出现,都是为了解决问题,事务的隔离级别的出现,主要是为了解决并发事务(即两个事务同事运行)出现的问题。

****并发事务容易出现那些问题?****
(1)更新丢失问题
(2)一致性读问题,主要是脏读,不可重复读,幻读。

****注****:关于更新丢失以及脏读,不可重复读,幻读的详细解释,请看专门的介绍

****事务的隔离级别有哪些****
(1)read uncommited(读取未提交内容)
(2)read commited(读取已提交内容,简称RC)
(3)repeatable read(可重读,简称RR)
(4)serializable(可串行化)

****各个事务隔离级别之间的排序****
从read uncommited到serialize,隔离级别由低到高,read uncommited的隔离级别最低,serializable的隔离级别最高。

****各个事务隔离级别都处理了哪些问题****
read uncommited解决了更新丢失的问题,其原理是通过锁来实现,但不能解决脏读,不可重复读和幻读的问题。

read commited解决了更新丢失和脏读的问题,但不能解决脏读,不可重复读和幻读的问题。

repeatable read解决了更新丢失,脏读,不可能重复读,幻读的问题,其实现原理是通过间隙锁(间隙锁会在后面详细介绍)来实现。

serializable解决了并发事务所有的问题,通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。其原理是读自动加共享锁,写自动加排它锁的方式来实现来实现事务的串行化。

****对事务隔离级别的理解****
从read uncommited到serializable,隔离级别层层提高,由于其核心是使用锁来控制,因此锁超时和锁竞争的现象也随着隔离级别的上升而不断的出现,所以,我们在选用不同的隔离级别的时候要考虑好应对后期的锁竞争和超时的情况。

根据不同的隔离级别的特性,为我们后期分析不同隔离级别下,事务加了什么锁提供了可靠的分析依据。

****mysql下查看和设置隔离级别的技巧****

  • 查询事务隔离级别:
    select @@session.tx_isolation;

  • 设置隔离级别:
    set session transaction isolation level read uncommitted;(READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE)

相关文章

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

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

  • Mysql 隔离级别与锁的关系

    Innodb中的事务隔离级别和锁的关系MySQL加锁处理分析

  • mysql事务隔离级别的实现原理

    mysql事务隔离级别的实现原理 mysql innodb中的四种事务隔离级别[https://www.jians...

  • mysql的事务隔离级别

    mysql中一共有4种隔离级别(因为只有InnoDB引擎支持事务,所以也可以说是InnoDB的事务隔离级别) 隔离...

  • 数据库事务和锁

    参考链接:MySQL中Innodb的事务隔离级别和锁的关系 1. 事务 事务:事务是作为单个逻辑单元工作执行的一些...

  • MySQL会发生死锁吗?

    MySQL的InnoDB引擎事务有4种隔离级别,主要是为了保证数据的一致性。 InnoDB引擎提供了行级锁,表锁。...

  • Day95-MySQL-中级DBA课程

    上节回顾: 存储引擎种类 InnoDB 核心特性 事务ACID 锁 ,隔离级别 innodb_flush_log_...

  • MySQL 事务详解

    事务详解 注意:MyISAM 不支持事务,InnoDB支持事务,所以所有关于事务, 隔离级别,排它锁, 共享锁, ...

  • MySQL

    MySQL数据库的存储引擎InnoDB和MyIASM 以下都是以InnoDB,Mysql默认事务隔离级别为REPE...

  • 【学习】MySQL数据库

    存储引擎 存储引擎 索引 InnoDB索引原理索引 锁 锁不同Select加锁分析 事务 事务事务隔离级别XAMV...

网友评论

    本文标题:mysql锁(六)innodb之事务的隔离级别

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