mysql置事务隔离级

在这里插入图片描述

隔离级别脏读(Dirty Read)不可重复读(Non-Repeatable Read)幻读(Phantom Read)
读未提交
读已提交
可重复读
序列化

这个表格以可读性的方式总结了四种隔离级别下可能发生的并发问题。
以下是对脏读(Dirty Read)、不可重复读(Non-Repeatable Read)和幻读(Phantom Read)的解释及其如何发生的描述:

  1. 脏读(Dirty Read)

    • 定义:脏读是指一个事务在读取了另一个事务未提交的数据后,后者发生了回滚,那么读取到的数据是无效的,称之为脏读。
    • 发生方式:当一个事务修改了某些数据,但尚未提交时,另一个事务读取了这些未提交的数据,然后第一个事务回滚,导致第二个事务读取到的数据实际上是无效的或不一致的。
  2. 不可重复读(Non-Repeatable Read)

    • 定义:不可重复读是指在一个事务内的两次查询之间,另一个事务修改了数据并提交,导致两次查询返回的结果不一致,即第二次读取到的数据与第一次读取到的数据不一样。
    • 发生方式:当一个事务在读取数据后,另一个事务修改了这些数据并提交,然后第一个事务再次读取同样的数据,结果与之前不一致,因为数据已经被修改。
  3. 幻读(Phantom Read)

    • 定义:幻读是指一个事务在读取了一系列的数据后,另一个事务插入了一些新的数据,导致第一个事务在后续读取相同的数据时,发现有额外的数据出现,就像出现了幻觉一样。
    • 发生方式:当一个事务在读取某些数据后,另一个事务插入了新的符合查询条件的数据,并提交,然后第一个事务再次读取相同的数据,结果发现有新的数据出现,就好像出现了幻觉一样。

这些并发问题通常是由于多个事务同时对数据库进行操作,而没有足够的隔离度保证,导致了数据的不一致性和可见性问题。不同的事务隔离级别可以解决或减轻这些问题的发生。

如何避免?

资源加锁,如redis分布式锁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/562782.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

子网掩码,网段,网关

IP地址、子网掩码、网段、网关【网络常识 2】_哔哩哔哩_bilibili 网关: 什么时候需要用到网关: 若目标IP在同一网段则可以直接通信不需要经过网关,否则需要。 怎么判断对方的ip是否与我在同一网段呢? 判断网络号是否相同。 电…

mac 安装 nvm 【真解决问题】

前提 没有node环境已有git 下载 我用的gitee极速下载 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags配置 1. 配置变量 在用户的目录下新增文件 .zshrc export NVM_DIR"$HOME/…

MYSQL多表设计,多表查询,事务,索引

目录 一多表设计 1.1 一对多 1.1.1 外键约束 1.2一对一 1.3多对多 二多表查询 2.1数据准备: 2.2笛卡儿积: 2.3 分类 2.3.1内连接 2.3.2外连接 三子查询 3.1标量子查询 3.2列子查询 3.3行子查询 3.4表子查询 四事务 4.1场景 4.2语法…

Git Commit 提交规范,变更日志、版本发布自动化和 Emoji 提交标准

前言 Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略,希望通过本文,能够帮助大家规范 Git Commit,并且展示相关 …

OpenHarmony实战开发-手写板应用开发操作流程

分布式手写板(ArkTS) 介绍 本篇Codelab使用设备管理及分布式键值数据库能力,实现多设备之间手写板应用拉起及同步书写内容的功能。操作流程: 设备连接同一无线网络,安装分布式手写板应用。进入应用,点击…

查立得源码如何去除版权

最近发现很多人百度:查立得源码如何去除版权。 每个源代码/软件都是有版权的,无法去除,我们也得尊重知识产权/劳动成果。 可以去除/修改的是:页面显示的版权信息,查立得底部信息均可自定义(一般conn.php可修改)。 另&#xff1…

【数据分析案列】--- 北京某平台二手房可视化数据分析

一、引言 本案列基于北京某平台的二手房数据,通过数据可视化的方式对二手房市场进行分析。通过对获取的数据进行清冼(至关重要),对房屋价格、面积、有无电梯等因素的可视化展示,我们可以深入了解北京二手房市场的特点…

鸿蒙Harmony应用开发—ArkTS-枚举说明

说明: 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 Color 从API version 9开始,该接口支持在ArkTS卡片中使用。 颜色名称颜色值颜色示意Black0x000000 Blue0x0000ff Brown…

大模型+强化学习_利用AI反馈扩展强化学习_RLAIF

1 2 3 4 5 6英文名称: RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback 中文名称: RLAIF:利用AI反馈扩展强化学习 链接: http://arxiv.org/abs/2309.00267v2 作者: Harrison Lee, Samrat Phatale, Hassan Mansoor, Thomas Mesnard, Jo…

链表合并--给定两个元素有序(从小到大)的链表,要求将两个链表合并成一个有序(从小到大)链表,

输入描述: 第一行输入第一个链表的结点数S1&#xff0c;S1<100。 第二行输入S1个整数&#xff0c;两两之间用空格隔开。 第三行输入第二个链表的结点数S2&#xff0c;S2<100。 第四行输入S2个整数&#xff0c;两两之间用空格隔开。 输出描述: 输出合并之后的链表结果&…

在MongoDB建模1对N关系的基本方法

“我在 SQL 和规范化数据库方面拥有丰富的经验&#xff0c;但我只是 MongoDB 的初学者。如何建立一对 N 关系模型&#xff1f;” 这是我从参加 MongoDB 分享日活动的用户那里得到的最常见问题之一。 我对这个问题没有简短的答案&#xff0c;因为方法不只有一种&#xff0c;还有…

如何使用OpenHarmony实现一个模拟应用首次启动

应用首次启动&#xff08;ArkTS&#xff09; 介绍 本篇Codelab基于自定义弹框、首选项和页面路由实现一个模拟应用首次启动的案例。需要完成以下功能&#xff1a; 实现四个页面&#xff0c;启动页、隐私协议页、广告页、应用首页。页面之间的跳转。实现自定义隐私协议弹窗&a…