MySQL篇:事务
MySQL篇事务一、为什么要有事务数据库为了存储数据而生事务是为了实现ACIDACID原子性要么全做要么全部做–undo log一致性数据在事务前后满足所有规范–业务代码原子性、隔离性、持久性隔离性一个事务的执行不受其余事务影响–MVCC锁持久性提交的数据不可以丢失–redo log二、三个核心日志1.undolog逻辑日志作用保证事务原子性为MVCC提供支持1.把旧值写入undolog2.修改 Buffer Pool 里的数据页。3.记录回滚指针这行记录的回滚指针会找到undolog的旧值用于回滚如果需要回滚就沿着回滚指针找到旧值如果事务未提交那么undolog就不可以删除因为MVCC要通过它来查询历史版本的数据2.redolog物理日志每次直接修改磁盘太慢了所以会先写日志在异步刷盘1.修改在内存中的数据页2.写入redolog把那个表中的那个页偏移量多少写了什么记下来3.返回成功只要redolog写成功了就会回复客户端提交成功数据页在等空闲的时候在慢慢刷盘4.异步刷盘后台线程将脏页数据刷入磁盘3.binlog记录所有操作用于数据恢复与主从复制redolog与binlog逻辑必须一致否则主从数据会乱。流程1.prepare阶段redolog写入并刷盘状态为prepare2.写binlogbinlog日志写入3.commit阶段redolog状态改为commit崩溃时恢复:redolog是commit直接提交redolog是prepare但binlog不完整回滚redolog是prepare且binlog完整提交MVCC实现由回滚指针、undilog、readview1、readview决定可以看什么事务第一次执行查询是会生成一个readview然后会通过特定算法判断这个事务他可以看见的版本2、undolog通过回归指针找到历史版本在通过readview决定可以看到那个版本这样就比避免不可重复读的问题读当前读Select for update、update等会读取最新版本并且加锁防止篡改快照读普通的Select通过readview找到可见版本隔离级别与readviewRC隔离级别下每次查询都会生成新的readviewRR会使用事务一开始生成的Readview幻读MVCC解决的是快照读的幻读问题当前读是使用NEXT-Key Lock解决的他是行锁与间隙锁的组合即防止修改记录也防止修改记录的间隙大事务风险1.undolog膨胀大事务长时间不提交undolog不清理undolog可能被写满2.锁持有时间长由于行锁间隙锁一致不释放阻塞其余请求连接池打满3.大事务的binlog一次性写入从库导致从库瞬间延迟4.崩溃恢复慢未提交的大事务回滚时间长排查-- 查找运行超过 30 秒的事务 SELECT * FROM information_schema.INNODB_TRX WHERE trx_started DATE_SUB(NOW(), INTERVAL 30 SECOND)\G -- 找到对应的连接获取执行的 SQL SELECT * FROM information_schema.PROCESSLIST WHERE ID [thread_id]\G -- 紧急处理杀掉连接 KILL [thread_id];事务失效1.非public方法因为Spring AOP默认只代理public方法2.同类方法调用一个方法调用加入了transactional注解的方法不会走代理注解失效3.异常被捕获在方法内部加入了try-catchSpring接收不到异常信号4.非RuntimeException默认只会回滚RuntimeException 与Error 可以指定rollback出现异常就要回滚5.传播属性设置不当Propagation.REQUIRES_NEW会让外部事务挂起内部事务独立提交。如果内部事务回滚外部事务捕获了异常继续提交就会导致部分数据不一致。

相关新闻

2026年上海仿古地砖供应商推荐:读懂古建地面的选择逻辑

2026年上海仿古地砖供应商推荐:读懂古建地面的选择逻辑

摘要: 在上海的古建修缮与禅意空间营造中,仿古地砖的选择关乎整体气韵与长期耐用性。本文将围绕上海仿古地砖厂家推荐这一线索,深度解析仿古地砖的核心价值与技术原理,并以上海高新技术企业上海朵颐新材料科技有限公司为观察样本&…

2026/7/23 3:29:33 阅读更多 →
2026企业AI Agent工具实测横评:Claude Code平替选型指南

2026企业AI Agent工具实测横评:Claude Code平替选型指南

2026企业AI Agent工具实测横评:Claude Code平替选型指南最近我作为企业数字化选型负责人,花了三周时间调研了国内市场多款主流的AI Agent生产力工具,覆盖日常办公、轻量开发、流程自动化等多个核心场景,最终选择了飞书 aily&#…

2026/7/25 17:01:11 阅读更多 →
点时数据不是历史快照:用双时间轴避免回测偷看修订值

点时数据不是历史快照:用双时间轴避免回测偷看修订值

点时数据不是历史快照:用双时间轴避免回测偷看修订值 量化回测中的未来函数不只来自错误的 shift。更隐蔽的情况是:研究者下载了一份今天看来完整、正确的历史表,然后默认这些数值在过去当时也已经可见。财务数据会延迟发布,宏观数…

2026/7/24 9:02:52 阅读更多 →

最新新闻

大模型Agent技术:架构设计与工业实践

大模型Agent技术:架构设计与工业实践

1. 大模型Agent技术全景解析在2023年NIPS会议的一场圆桌讨论中,DeepMind首席研究员David Silver曾提出:"大模型Agent系统正在重塑人机交互范式"。作为AI领域最前沿的技术方向之一,大模型Agent结合了语言理解、任务规划和环境交互三…

2026/7/26 3:39:31 阅读更多 →
gofile-downloader:突破Gofile下载限制的终极免费方案

gofile-downloader:突破Gofile下载限制的终极免费方案

gofile-downloader:突破Gofile下载限制的终极免费方案 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 还在为Gofile平台的龟速下载而烦恼吗?gofile-…

2026/7/26 3:39:31 阅读更多 →
Kimi大模型商业化路径:从K3技术优势到上市战略解析

Kimi大模型商业化路径:从K3技术优势到上市战略解析

1. 从K3到上市:Kimi的商业化压力与战略选择 Kimi作为国内大模型领域的明星产品,在K3版本发布后迅速将上市提上日程,这背后反映的是技术产品从研发验证到规模化商业落地的典型压力路径。技术团队出身的从业者往往更关注模型参数、推理速度和上…

2026/7/26 3:39:31 阅读更多 →
完整开源FOC轮腿机器人制作指南:从零开始打造智能平衡机器人

完整开源FOC轮腿机器人制作指南:从零开始打造智能平衡机器人

完整开源FOC轮腿机器人制作指南:从零开始打造智能平衡机器人 【免费下载链接】foc-wheel-legged-robot Open source materials for a novel structured legged robot, including mechanical design, electronic design, algorithm simulation, and software develop…

2026/7/26 3:39:31 阅读更多 →
Windows平台终极网络数据转发工具:socat-windows完整使用指南

Windows平台终极网络数据转发工具:socat-windows完整使用指南

Windows平台终极网络数据转发工具:socat-windows完整使用指南 【免费下载链接】socat-windows unofficial windows build of socat http://www.dest-unreach.org/socat/ 项目地址: https://gitcode.com/gh_mirrors/so/socat-windows 想要在Windows系统上实现…

2026/7/26 3:39:31 阅读更多 →
企业数字化转型:AI大模型在办公、HR与财务场景的实践

企业数字化转型:AI大模型在办公、HR与财务场景的实践

1. 项目背景与核心价值最近两年,企业数字化转型已经从"选择题"变成了"必答题"。但传统转型方案往往存在实施周期长、员工适应难、业务契合度低等痛点。AI大模型技术的突破性发展,正在为企业提供全新的解题思路。我服务过数十家企业的…

2026/7/26 3:38:31 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻