美文网首页
Mysql(1)-事务隔离级别

Mysql(1)-事务隔离级别

作者: StayHungriest | 来源:发表于2020-03-14 17:31 被阅读0次

转载自:https://www.cnblogs.com/wyaokai/p/10921323.html

一、事务的基本要素(ACID)

1、原子性(Atomicity):

事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。

2、一致性(Consistency):

事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。

3、隔离性(Isolation):

同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。

4、持久性(Durability):

事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

二、事务的并发问题

1、脏读:

事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据

2、不可重复读:

事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。

3、幻读:

系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。

小结:

不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

三、事务隔离级别

事务隔离级别

更多实例参照原文

相关文章

  • Mysql事务

    1) mysql事务的ACID特性 2)MySQL事务隔离级别

  • MySQL 事务隔离级别解析和实战

    MySQL 事务隔离级别解析和实战 1、MySQL 隔离界别查看 查看回话隔离级别 查看系统隔离级别 2、MySQ...

  • mysql隔离级别

    一、MySQL事务隔离级别 mysql默认的事务隔离级别为repeatable-read(可重复读) 1.未提交可...

  • 聊聊MySQL的隔离级别

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

  • 2019-01-18

    1.MySQL事务隔离级别:事务隔离级别,解决什么并发问题,以及存在什么并发问题 (1)READ_UNCOMMIT...

  • Mysql笔记

    Mysql索引实现原理MysqlACID具体,隔离级别,隔离级别如何实现 1. 事务 1.1 事务的简介 在 My...

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

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

  • 掌握mysql事务的隔离级别,此篇足矣

    一、事务的隔离级别分类 按照隔离程度从低到高,MySQL 事务隔离级别分为四个不同层次: 1、读未提交(Read ...

  • Mac系统mysql设置事务隔离级别

    Mac系统mysql设置事务隔离级别 MySQL数据库事务隔离级别主要有四种: Serializable 串行化,...

  • MySQL事务隔离级别学习

    1. MySQL事务隔离级别学习笔记 1.1. 隔离级别 READ UNCOMMITTED 未提交读在READ U...

网友评论

      本文标题:Mysql(1)-事务隔离级别

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