mysql数据库事务脏读、不可重复度、幻读详解

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: mysql数据库事务脏读、不可重复度、幻读详解

@[TOC]

1 事务隔离级别

  • read-uncommitted:脏读、不可重复度、幻读,均可出现。安全性低,性能高。
  • read-committed(oracle默认):不可重复度、幻读。避免了脏读。
  • repeatable-read(mysql默认):幻读。避免了脏读、不可重复度。
  • serializable:避免了脏读、不可重复度、幻读。安全性高,性能低。

    2 脏读

    开启两个窗口:
  • 查询事务默认的隔离级别
    select @@transaction_isolation;
    
  • 设置隔离级别为read-uncommitted
    set session transaction isolation level read uncommitted;
    
    在这里插入图片描述
    • 开启事务
      start transaction;
      
      在这里插入图片描述
    • 脏读就是读到了其他事务,未提交的数据。read-uncommitted
    • 查询数据的时候会有错误。

      3 不可重复度

    • 设置事务隔离级别为read-committed
      set session transaction isolation level read committed;
      

      3.1 解决了脏读的问题。

      在这里插入图片描述

      3.2 有不可重复度的问题

      在这里插入图片描述

      4 幻读

    • 设置隔离级别
      set session transaction isolation level repeatable read;
      

      4.1 没有脏读和不可重复读的问题

      在这里插入图片描述

      4.2 有幻读的问题

      在这里插入图片描述

      5 serializable

      设置事务隔离级别为serializable,脏读、不可重复读、幻读的问题都不存在,但是性能最低。
      set session transaction isolation level serializable;
      
      串行化:事务并发时,A事务提交后,B事务才能提交。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
25天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
|
1月前
|
关系型数据库 MySQL 数据库
MySQL事务(简单明了)
MySQL事务(简单明了)
|
1月前
|
SQL 关系型数据库 数据库
事务隔离级别:保障数据库并发事务的一致性与性能
事务隔离级别:保障数据库并发事务的一致性与性能
|
1月前
|
算法 大数据 数据库
数据库事务:保障数据一致性的基石
数据库事务:保障数据一致性的基石
|
1月前
|
SQL 关系型数据库 MySQL
MySQL索引与事务
MySQL索引与事务
105 0
|
1月前
|
关系型数据库 MySQL 数据库
深入探讨MySQL并发事务的问题及解决方案
深入探讨MySQL并发事务的问题及解决方案
76 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】4、MySQL 事务学习
【MySQL 数据库】4、MySQL 事务学习
44 0
|
2月前
|
SQL 关系型数据库 MySQL
Mysql事务隔离级别和锁特性
Mysql事务隔离级别和锁特性
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】脏读、不可重复读、幻读介绍及代码解释
【MySQL】脏读、不可重复读、幻读介绍及代码解释
|
4天前
|
存储 SQL 关系型数据库
MySQL 事务
MySQL 事务