Mysql事务

Spring事务和Mysql事务总结 目录spring事务与数据库事务与锁之间的关系五分钟搞清楚MySQL事务隔离级别//dao spring事务与数据库事务与锁之间的关系 一直没搞清楚spring事务与数据库事务与锁之间的关系,也许是因为这个体系非常庞大,确实比较凌乱。 后来从一个博客上看到:spring事务本质上使用数据库事务,而数据库事务本质上使用数据库锁,所以spring事务本质上使用数据库锁,开启spring事务意味着使用数... 阅读详情

1.什么是事务

事务是一条或多条数据库操作语句的组合,具备ACID四个特点。

原子性(Atomicity):一个事务要么全部执行,要么全部不执行。也就是说一个事务不可能执行到一半就停止了。比如:去超时购买商品,付钱和拿到商品这两步要么同时执行,要么都不执行。

一致性(Consistency):指事务的运行不会改变数据库中数据的一致性。比如:a+b=10,a改变了,b也应该随之变化。

隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是个例的,并发执行的各个事务之间不能相互干扰。

持久性(Durability):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。当事务提交之后,数据会持久化到硬盘,修改是永久性的。

事务并发会发生什么问题?

脏读

一个事务在执行的过程中读取到了其他事务还没有提交的数据。

不可重复读

事务A在读取一条记录时,这个事务还没有结束,事务B对这个记录进行修改,事务A再次读取这条记录时,记录发生了变化。也就是事务A两次读取到的数据发生了变化成为不可重复读。

幻读

事务A读取表中的数据,事务B在事务A还没有结束时,进行了插入操作,事务A再次读取,发现表中有新的数据,就好像发生了幻觉一样。

事务的隔离级别:

隔离级别分为四种:

读未提交:READ-UNCOMMITTED

读已提交:READ-COMMITTED

可重复读:REPEATABLE-READ

串行:SERIALIZABLE

上面四种隔离级别越来越强,会导致数据库的并发性也越来越低。Mysql的默认级别是REPEATABLE-READ

隔离级别脏读不可重复读幻读
READ-UNCOMMITTED有有无
READ-COMMITTED无有无
REPEATABLE-READ无无有
SERIALIZABLE无无无

注意:幻读只会在可重复读级别中才会出现,其他级别中不存在。

补充:

1.事务级别为读提交时,写数据只会锁住相应的行

2.事务级别为可重复读时,如果检索条件有索引(包括主键索引)的时候,默认加锁方式是next-key锁;若果检索条件没有索引,更新数据时会锁住整张表。一个间隙被事务加了锁,其他事务是不能在这个间隙插入记录的,这样可以防止幻读。

3.事务隔离级别为串行化时,读数据都会锁住整张表

4.隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。

 

Spring事务和MySQL事务详解面试 文章目录数据库事务事务是什么事务的四大特性MySQL事务隔离级别查看MySQL当前事务隔离级别MySQL默认操作模式为自动提交模式JDBC处理事务Spring事务Spring的事务传播PROPAGATION_REQUIREDPROPAGATION_SUPPORTSPROPAGATION_MANDATORYPROPAGATION_REQUIRES_NEWPROPAGATION_NOT_SUPPORTEDPROPAGATION_NEVERPROPAGATION_NESTEDSpring事务的隔离级别Spring 阅读详情

相关推荐

MIMO技术入门

MIMO:多天线技术,发射端和接收端有多个天线(注意:并不是指多个天线板,而是多套振子,每一套是一个独立的天线。) 4G:2、8天线 5G:4、64天线(64T64R) 手机也是多天线 MIMO实现效果的分类: 1)空间分集 。2)空间复用。3)波束赋形。 空间分集(space diversity) 作用:提升接收质量 利用多个天线发射或者接收一个数据流,避免单个信道衰落对整个链路的影响。(比如你的耳机坏了一只并不影响另一只) 空间复用(space multiplexing) 作用:提升速率 利

About1129的博客 2876

【MySQL】事务

本篇文章全面解析了数据库事务的概念、作用及其核心操作。事务作为数据库管理的基本单位,确保了数据操作的一致性、完整性和可靠性。文章详细探讨了事务的定义、版本支持、提交方式以及常见操作,并通过一系列实验演示了事务的回滚机制及在不同情况下的数据表现。同时,深入剖析了事务隔离级别的概念、分类及作用,帮助理解不同隔离级别对数据库一致性和并发性能的影响。

是阿建吖! 5497

ffmpeg中av_read_frame阻塞的原因与解决方案

最近用到ffmpeg,想要av_read_frame立即返回,但是看网上的博客,都没有详细的解说,那就自己看源码。 两种方法: 设置回调打断函数和设置超时 超时,但是如果只设置该参数,依然会在av_read_frame中阻塞, av_dict_set(&inputDic, "stimeout", "2*1000*1000", 0); // milliseconds //打断回调 m_avformatCtx->interrupt_callback.callback = interru

weixin_43360707的博客 1万+

MySQL——事务

MySQL、事务

2303_78442132的博客 3948

保姆级教程:用YOLOv8n模型在RKNN和Horizon平台完成目标检测(附C++部署代码与性能实测)

本文提供了一份详尽的YOLOv8n模型在RKNN和Horizon平台上的部署指南,涵盖环境配置、模型优化、跨平台适配及性能调优。通过实战案例和C++部署代码,帮助开发者在嵌入式设备上高效实现目标检测,显著提升推理性能。

weixin_42659194的博客 468

【Bug已解决】Failed to fetch version ECONNREFUSED 解决方案

方案适用场景推荐指数难度方案一:NODE_EXTRA_CA_CERTS代理/企业网关证书⭐⭐⭐⭐⭐低方案二:浏览器导出证书不知证书在哪⭐⭐⭐⭐中方案三:使用系统证书macOS 用户⭐⭐⭐⭐中方案四:关闭代理直连快速验证⭐⭐⭐低方案五:更新 Node.js证书列表过时⭐⭐⭐低方案六:同步系统时间时间偏差导致⭐⭐⭐低根本原因。

博客 9974

MySQL事务

MySQL事务 一、MySQL事务的概念二、事务的ACID特点1、原子性2、一致性3、隔离性4、持久性 三、事务之间的相互影响四、MySQL及事务隔离级别1、查询全局事务隔离级别2、查询会话事务隔离级别3、设置全局事务隔离级别4、设置会话事务隔离级别 五、事务控制语句1、测试提交事务2、测试回滚事务3、测试多点回滚4、使用 set 设置控制事务 一、MySQL事务的概念 ● 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作..

Smile x 3816

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 198

MYSQL事务

事务(Transaction)是一组数据库操作的集合,这些操作要么全部执行成功,要么全部不执行。在MySQL中,事务确保了一组数据库操作的原子性,一致性,隔离性和持久性,简称ACID属性。原子性 (Atomicity):原子性指事务中的所有操作要么全部执行成功,要么全部不执行。即事务不可分割,事务中的操作要么全部完成,要么由于某种原因全部回滚。一致性 (Consistency):一致性确保事务开始前和结束后,数据库状态保持一致。事务执行过程中虽然数据库状态可能临时不一致,但最终状态必须符合预期约束。

eternal__day的博客 1170

【数据同化第一期】基本概念介绍

【数据同化第一期】基本概念介绍

WW、forever的博客 1904

Doris磁盘空间管理(生命周期管理、清理磁盘空间方法)

在进行数据仓库开发时,比较头疼的是历史数据不删除,磁盘空间不断增长,如果磁盘空间不足时,spark调度任务写入时就会报错。

大模型大数据攻城狮的专栏 1718

[MySQL]事务

事务是数据库中将一组SQL语句打包执行的机制,确保要么全部成功要么全部失败。具有ACID特性:原子性(整体执行)、一致性(数据正确)、隔离性(事务间独立)和持久性(持久保存)。

z141042的博客 1572

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图、天地图)

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图)

1万+

MySQL的事务与Spring的事务

MySQL系列文章总目录:关系型/非关系型【数据库】知识脉络 为什么MySQL要有事务? 一个数据库,一个表,十个人来查看,十个人来写数据,再来十个人删除数据。这一番操作下来,会有哪些可能性? 会有哪些可能性? 假如黄蓉郭靖分隔两地,又没有电话沟通(书信需要传一个月),恰巧又使用了没事物的银行数据库。 0. 两人都到银行先看了一眼存款:500银子! 黄蓉再存500银子,心想有1000银子,郭靖在天涯那边正取200银子,黄蓉存完一看,怎么...

披甲上战场的博客 2568

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MYSQL事务机制

十分钟吃透MySQL的事务机制,深入理解不同事务隔离级别的实现原理

weixin_45739173的博客 1670

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mysql怎样开启事务_MySQL 如何使用事务

基础知识事务是指对一组 SQL 语句进行一个原子化的操作,即如果这一组 SQL 语句中有一条发生错误,那么其他的同组 SQL 就都不会被执行。你可以把它当作一个测试,当你执行完一组 SQL 语句后,可以查看一下结果是否正确,如果正确后可以选择提交,如果不正确则可以进行回滚,恢复到原本的状态。在 MySQL 中,所有的操作默认都是自动进行提交,当开启事务后则变为手动提交。基本使用单独开启单独开启是指...

weixin_30744725的博客 6268

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MySQL事务基础

事务是数据库区别于文件系统的重要特性之一,当有了事务就会让数据库始终保持一致性,同时还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失ACID是事务的四大特性,在这四个特性中,原子性是基础,隔离性是手段,一致性是约束条件,而持久性是目的。数据库事务,其实就是数据库设计者为了方便起见,把需要保证原子性、隔离性、一致性和持久性的一个或多个数据库操作称为一个事务。

YouPromise的博客 992

MySQL 事务

一篇文章让你看懂什么是 MySQL 事务

Demo_Null 3678

MySQL事务与Spring事务的关系

MySQL事务是数据库层面的原生事务机制,而Spring事务是应用层基于MySQL事务(或其他数据库事务)构建的声明式/编程式事务抽象,也就是说,Sprnig事务是 数据库事务在 Java框架层面的封装和增强,本质上还是依赖数据库的事务机制。 MySQL的事务模型:这篇文章的最后会说明使用Spring事务的3种方式(本质上就两种,声明式和编程式)下面给出一个例子,使用的是 Spring的声明式事务(@Transactional) 3. 两者关系详解 3.1 层级关系 3.2 Spring对MySQL事务

fupinghaohao的博客 1015
上一篇: 数据结构与算法-树与二叉树
下一篇: spring事务(Transaction)的七种事务传播行为及五种隔离级别
给自己加加油
博客等级 码龄8年 302粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值