MySQL-事务篇

文章目录

  • 何为事务?
  • 什么是事务的ACID特性?
  • 并发事务带来了哪些问题?
  • 不可重复读和幻读有什么区别?
  • 并发事务的控制方式有哪些?
  • SQL标准定义了哪些事务隔离级别?
  • MYSQL的隔离级别是基于锁实现的吗?

何为事务?

事务是逻辑上的一组操作,要么都执行,要么都不执行

什么是事务的ACID特性?

  1. A(原子性):事务是最小的执行单位,不允许分割
  2. C(一致性):执行数据前后,数据保持一致
  3. I(隔离性):并发访问数据库时,一个用户的事务不被其他的事务所干扰,各并发事务之间数据库是独立的
  4. D(持久性):一个事务被提交后,它对数据库的改变是持久的,即使数据库发生故障也不应该对其有任何影响

注意:A,I,D是手段,C是目的

并发事务带来了哪些问题?

多个事务并发执行,多个用户对同一用户进行操作,可能会出现以下问题
脏读
一个事务修改了数据,但未提交,此时另一个事务读取了这个还未提交的事务,但是第一个事务突然回滚,导致数据并未提交到数据库,这里第二个事务读取到的就是脏数据

丢失修改
一个事务读取到一个数据时,另一个事务也访问了该数据,第一个事务对数据进行修改,另一个事务又修改了这个数据,这样第一个事务内的修改结果就被丢失

不可重复读
一个事务内多次读同一个数据,期间另外一个事务对数据进行修改,使得第一个事务两次读到的内容不一致

幻读
一个事务读取了数据,接着另外的并发事务插入了一些数据,则前一个事务再次读取数据时,发现多出了一些记录,像幻觉一样!

不可重复读和幻读有什么区别?

不可重复读重点是多次读取数据发现其中某些记录的值被修改
幻读重点是多次读取数据发现查到的记录增加
幻读可以看成是不可重复读的一种特殊情况,区分是因为解决两者的方案不一样

并发事务的控制方式有哪些?

锁和MVCC (todo 完善)

SQL标准定义了哪些事务隔离级别?

  • READ-UNCOMMITTED(读取未提交)
  • READ-COMMITTED(读取已提交)
  • **REPEATABLE-READ(可重复读) : **InnoDB存储引擎支持的默认隔离级别
  • SERIALIZABLE(可串行化)
隔离级别脏读不可重复读幻读
READ-UNCOMMITTED
READ-COMMITTED×
REPEATABLE-READ××
SERIALIZABLE×××

MYSQL的隔离级别是基于锁实现的吗?

是基于锁和MVCC机制共同实现的
SERIALIZABLE 是通过锁来实现的,READ-COMMITTED和REPEATABLE-READ是基于MVCC实现的

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

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

相关文章

微服务- protobuf 安装

这里写自定义目录标题 1:下载链接2 :下载对应的包3:解压到目录4:设置环境变量5: 查看版本 1:下载链接 https://github.com/protocolbuffers/protobuf/releases 2 :下载对应的包 3:解压到目录 4&…

从RTTR谈Reflection机制

虽然C11引入了RTTI、Metaprogramming 等技术,但C在Reflection编程方面依旧功能有限。在社区上,RTTR则提供了一套C编写的反射库,补充了C在Reflection方面的缺陷。 零、环境 操作系统Windows 11Visual StudioVisual Studio Community 2022 CMa…

git 命令 - rebase

简介 git rebase 是一个用于重新应用一系列提交到另一个基础的 Git 命令。 它可以用来整合来自不同分支的更改,同时保持项目历史的整洁。 操作流程 开始变基: 要开始一个变基操作,你需要指定一个基础分支。通常,这个基础分支是…

2024.05.14 Diffusion 代码学习笔记

配环境 我个人用的是Geowizard的环境:https://github.com/fuxiao0719/GeoWizard。 出于方便考虑,用的pytorch官方的docker容器,因此python版本(3.10)和原作者(3.9)不同,其余都是一…

一文说通用户故事点数是什么?

一文说通用户故事点数是什么? 第26期:一文说通用户故事点数是什么? 用户故事点数是一种采用相对估算法进行估算的一种工具,一般采用斐波那契数列表征用户故事里说的大小,采用0 1 2 3 5 8 13这样的一些数字来表征用户…

【漏洞复现】Secnet-智能路由系统 actpt_5g.data信息泄露

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统 0x02 漏洞描述 Secnet智能路由系统 acipt 5g.data 接口存在信息泄露漏洞,未经身份验证的远程攻击者可以利用此漏洞获取系统账户名密码等重要凭据&#xff…

全流程TOUGH系列软件实践技术应用

TOUGH系列软件是由美国劳伦斯伯克利实验室开发的,旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同,TOUGH系列软件采用模块化设计和有限积分差网格剖分方法,通过配合不同状态方程(EOS模…

永磁同步电机的脉振高频注入无速度传感器simulink仿真模型

整理了永磁同步电机的脉振高频注入无速度传感器simulink仿真模型,该模型高频注入仿真pmsm,无感控制,解决0速转矩输出问题,插入式永磁同步电机,凸极,高频注入。MATLAB/simulink仿真,适合研究学习…

腾讯开源混元DiT文生图模型,消费级单卡可推理

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了深入的讨论。 总结链接…

第七十八章 IIS 技术说明

文章目录 第七十八章 IIS 技术说明IIS 应用程序池和Web Gardens应用程序池Web Gardens 应用程序池、Web花园和CSP 第七十八章 IIS 技术说明 对于那些有兴趣使用 IIS 的人,此页面介绍了应用程序池、网络花园和位数。 IIS 应用程序池和Web Gardens 应用程序池 应用…

【AI+漫画】程序员小李解决疑难杂症BUG的日常

周末花了点时间制作的AI漫画。 感慨一句,程序人生, 相伴随行。 原文链接:【AI漫画】程序员小李解决疑难杂症BUG的日常

一物一码数字化营销进军调味品行业,五丰黎红“星厨俱乐部”火啦!

近日,由五丰黎红联合纳宝科技精心打造的小程序“星厨俱乐部”火啦!一经上线就吸引了大量用户注册和参与,可以说取得了非常成功的市场反馈,那究竟是一个什么样的小程序,竟然有这么大的吸引力呢? 介绍小程序之…

武汉星起航:中国卖家借力亚马逊跨境电商平台,拓展全球销售市场

随着互联网技术的飞速发展,跨境电商已成为连接全球消费者与卖家的重要桥梁。作为全球领先的跨境电商平台,亚马逊凭借其强大的品牌影响力、丰富的商品资源和高效的物流体系,为全球消费者提供了一个便捷、安全的购物环境。在这个平台上&#xf…

连锁收银系统如何助力实体门店私域运营

作为实体门店,私域运营是提升客户黏性和增加复购率的重要策略之一。而连锁收银系统在私域运营中扮演了关键的角色,它不仅可以帮助门店管理客户信息和消费记录,还能够通过数据分析和营销功能提供个性化的服务和推广活动。下面看看连锁收银系统…

能源能耗管理系统

随着全球对绿色、低碳、可持续发展理念的深入认识,企业对于能源的管理和节能降耗的需求日益迫切。在这一背景下,HiWoo Cloud平台凭借其先进的能源能耗管理系统,为企业提供了一套高效、智能的解决方案,助力企业实现绿色节能&#x…

InfiniGate自研网关实现五

17.核心通信组件管理和处理服务映射 引入模块api-gateway-core 到 api-gateway-assist 中进行创建和使用,并拉取自注册中心的映射信息注册到本地的网关通信组件中。 第17节是在第15节的基础上继续完善服务发现的相关功能,把从注册中心拉取的网关映射信…

GPT3.5与GPT4.0的差别对比

随着人工智能技术的飞速发展,GPT系列模型已成为自然语言处理(NLP)领域的翘楚。GPT3.5和GPT4.0作为这一系列的最新成员,各自在性能和应用上都有所突破。 GPT4.0预计将拥有数千亿个参数,与前代GPT3.5相比,模…

ZYNQ之嵌入式驱动开发——字符设备驱动

文章目录 Linux驱动程序分类Linux应用程序和驱动程序的关系简单的测试驱动程序在petalinux中添加LED驱动新字符设备驱动 Linux驱动程序分类 驱动程序分为字符设备驱动、块设备驱动和网络设备驱动。 字符设备是按字节访问的设备,比如以一个字节收发数据的串口&#…

软信天成:业务流程管理驱动企业数字化转型

近日,在国家发展改革委办公厅、国家数据局综合司联合印发的《数字经济2024年工作要点》中,明确强调了本年度大力推进重点领域数字化转型,营造数字化转型生态的战略举措,标志着国家对于企业数字化转型的高度重视与积极倡导。 企业…

dubbo复习:(3) 服务超时时间配置

在dubbo admin中 可以进行类似如下配置 configVersion: v2.7 enabled: true configs:- side: consumeraddresses:- 0.0.0.0parameters:timeout: 55这样配置之后,当服务端响应超过55毫秒时,在服务消费者的控制台就会看到超时信息