当前位置: 首页 > article >正文

MySQL长时间未提交事务分析

在数据库运维经验中经常处理的一类故障性能问题就是长时间未提交事务。在换版日常常有开发同事找过来说执行DDL操作时候报锁超时。而绝大部分大部分DDL锁超时问题都是由长时间未提交事务引起的。所以不管是做开发的朋友还是数据库运维的朋友都应该对长时间未提交事务有所了解并尽量避免。本文介绍长时间未提交事务的原因、造成的故障、优化方案。一、什么是长时间未提交事务未提交事务指的是显示开启的事务中sql执行完很长时间后仍然未执行commit。这里要和大事务做一个区分大事务指的是一个事务操作的行记录数较多并且执行时间较长。一般是由DBever客户端发起的sql容易造成长时间未提交事务。长时间未提交事务一般是从DBever客户端发起的select语句日常可能只是查询一些库、表信息然后忘了关闭客户端sql执行完了但事务没有提交。二、长时间未提交事务造成的危害1、元数据锁冲突今天时间有限这里我们留到下次讲解给大家留一个悬念。2、主从延迟陡增陡降我在“MySQL数据库binlog解析”这篇文章中总结过每生成一个新的binlog至少包含2个event第一个是FORMAT_DESCRIPTION_EVENT第二个是PREVIOUS_GTIDS_LOG_EVENT。当执行了DML语句或者DDL语句之后则会先生成GTID_EVENT或者Anonymous_GTID_EVENT接着是对应事务begin语句的QUERY_EVENT、MAP_EVENT以及sql语句对应的WRITE_EVENT/DELETE_EVENT/UPDATE_EVENT最后是对应事务commit语句的XID_EVENT。每产生一个事务主库就会对应生成一系列的EVENT每个EVENT都有一个时间戳。长时间未提交事务造成主从延迟陡增陡降的根本原因其实就是这些EVENT的时间戳差异。这些EVENT按照先后顺序整理出来如下。1PREVIOUS_GTIDS_LOG_EVENT记录了Previous-GTIDS描述前面所有binlog包含的gtid set。对应的时间戳简单理解为事务begin的时间。2GTID_EVENT描述组提交中的逻辑时钟相关信息即last commit和seq number这两个值是从库回放事务时能否并行回放的依据对应的时间戳为事务commit的时间。3QUERY_EVENT记录语句的运行环境比如说客户端字符集、SQL_MODE等信息同时还会记录执行时间。对于DML语句会记录sql语句更改第一行数据时候都时间语句部分记录的是“begin”对于DDL语句记录的是sql真正开始执行的时间语句记录的是DDL语句本身。这对应的时间戳简单理解为事务begin的时间。4MAP_EVENT行模式特有的事件记录表在数据库内部映射的table id。对应的时间戳简单理解为事务begin的时间。5WRITE_EVENT/DELETE_EVENT/UPDATE_EVENT这些是真正执行insert、delete、update语句产生的EVENT。对应的时间戳简单理解为事务begin的时间。6XID_EVENT携带XID的EVENTXID是数据库在两阶段提交策略中用来判断一个事务是需要回滚还是重做的重要依据。记录的语句为“commit”对应的时间戳为事务commit的时间。主库显式发起一个事务后在事务执行过程中就会在数据库缓存中生成对应的EVENT当事务执行commit后这些EVENT会从主库通过binlog转储线程发送到从库。从库接收到EVENT后会开始回放这些EVENT。而从库的主从延迟计算公式从库的系统时间-正在回放的EVENT的时间戳-主从时间差用符号代替即为Seconds_beind_masterT0 - T1 - DIFF。其中DIFF是固定值可以先忽略认为0。假设一个长时间未提交事务真正的sql执行时间很短15点开始执行并且立刻就执行完成等到17点才执行commit。在网络状态良好情况下从库17点接收到对应事务EVENT并开始回放。回放PREVIOUS_GTIDS_LOG_EVENT、GTID_EVENT、QUERY_EVENT、MAP_EVENT、WRITE_EVENT时都执行的相对较快这里计算主从延迟的时候T0值为17点T1对应的时间都是15点对应的主从延迟是T0 - T1 - DIFF17-15-DIFF(0)2小时即7200秒也就是从库会在回放到WRITE_EVENT时主从延迟瞬间冲高到7200秒当从库回放到commit对应的XID_EVENT时T0值还是17点T1对应的时间都是17点对应的主从延迟是T0 - T1 - DIFF17-17-DIFF(0)0延迟瞬间降为0。三、如何优化未提交事务今天时间有限这里我们留到下次讲解给大家留一个悬念。

相关文章:

MySQL长时间未提交事务分析

在数据库运维经验中,经常处理的一类故障性能问题就是长时间未提交事务。在换版日,常常有开发同事找过来,说执行DDL操作时候,报锁超时。而绝大部分大部分DDL锁超时问题都是由长时间未提交事务引起的。所以,不管是做开发…...

Docker 容器中运行 AI CLI 工具:用户隔离与持久化卷实战指南话

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单,下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

基于transformer的clip和blip之间的关系、原理、方法实现和直观可视化

Transformer 是通用的注意力底座架构;CLIP 是把图像和文本映射到同一语义空间做对齐;BLIP 则在图文对齐之外,进一步把“理解”和“生成”放进同一个视觉语言预训练框架里。原始 Transformer 用纯注意力替代 RNN/CNN;CLIP 使用图像…...

AAV三质粒比例优化指南|教你如何选择合适的GMP级PEI转染试剂【曼博解析】

优化AAV三质粒系统比例必看!教你挑选合适的GMP级PEI转染试剂摘要:本文从三质粒系统比例与挑选GMP级转染试剂的维度,分享如何优化AAV病毒包装工艺。关键词:PEI转染试剂, AAV病毒包装,AAV三质粒比例,GMP级转染试剂,质粒转染,DNA转染…...

AI赋能测试也要做测试风险分析:选择不测什么比测什么更重要

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中…...

【架构实战】API接口防刷与限流策略

一、接口防刷概述 接口防刷是保护系统安全的重要手段: 常见攻击: 暴力破解密码恶意爬虫刷接口(抽奖、秒杀)CC攻击 二、限流算法 1. 计数器算法 Component public class CounterRateLimiter {public boolean tryAcquire(String key…...

【曼博解析】Polysciences 24765 vs 23966:明星PEI转染试剂对比指南

24765 vs 23966:Polysciences PEI MAX与PEI 25K转染试剂,谁才是细胞转染真神? 摘要:从化学结构(线性vs分支状)、分子量大小、到应用场景(病毒包装vs蛋白表达)以及细胞毒性&#xff…...

Unity UI圆角效果实战:从Shader原理到高级应用完整指南

Unity UI圆角效果实战:从Shader原理到高级应用完整指南 【免费下载链接】Unity-UI-Rounded-Corners These components and shaders allow you to add rounded corners to UI elements! 项目地址: https://gitcode.com/gh_mirrors/un/Unity-UI-Rounded-Corners …...

OpenClaw 大结局——接入个人微信厮

本课概览 Microsoft Agent Framework (MAF) 提供了一套强大的 Workflow(工作流) 框架,用于编排和协调多个智能体(Agent)或处理组件的执行流程。 本课将以通俗易懂的方式,帮助你理解 MAF Workflow 的核心概念…...

论文解读:Adam定律揭示大模型最爱高频词

AI性能的天花板,是由数据决定的。这句话,每个人都知道。但"好数据"的定义,长期以来只有三个维度:准确、丰富、无噪声。没有人认真追问过第四个维度——当数据语义完全相同,只是措辞不同时,哪个更…...

Taskbar11:3个步骤解锁Windows 11任务栏完全自定义能力

Taskbar11:3个步骤解锁Windows 11任务栏完全自定义能力 【免费下载链接】Taskbar11 Change the position and size of the Taskbar in Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar11 你是否厌倦了Windows 11默认的任务栏布局&#xff1…...

浙江金华车间酷热难挡?蒸发冷省电空调能否解决降温难题?

浙江金华的夏季,车间内酷热难挡是许多企业面临的难题。高温不仅让员工工作体验变差,还可能影响生产效率。这时,蒸发冷省电空调成为备受关注的解决方案。蒸发冷省电空调的制冷原理有其独特之处。它需要压缩机、制冷剂进行内循环制冷。压缩机作…...

DDD难落地?就让AI干吧! - cleanddd-skills介绍槐

AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...

吃灰安卓机变身 OpenClaw 服务器 — 完整手册乙

前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时,输出结果中包含大量由集群自动生成的元数据(如 managedFields、resourceVersion、uid 等)。这些信息在实际复用 yaml 清单时需要手动清理,增加了额外的工作量。 使用 kube…...

2026年主流会议录音转写工具大横评全场景准确率实测对比,谁才是职场人首选的效率王者?

作为折腾过几十款效率工具的老油条,最近为了搞定自媒体团队的访谈整理、视频转字幕需求,我把2026年市面上主流的5款录音转写工具全测了一遍,踩了一堆坑之后可以明明白白说:听脑AI是同类工具中综合体验最好的,不管是准确…...

nomic-embed-text-v2-moe GPU算力利用:A10单卡并发16路请求的稳定性压测报告

nomic-embed-text-v2-moe GPU算力利用:A10单卡并发16路请求的稳定性压测报告 1. 引言:当嵌入模型遇上高并发挑战 最近在折腾一个多语言检索项目,需要找一个既强大又高效的文本嵌入模型。试了一圈,最终锁定了nomic-embed-text-v2…...

VideoAgentTrek-ScreenFilter API接口全解析:参数、返回值与错误码指南

VideoAgentTrek-ScreenFilter API接口全解析:参数、返回值与错误码指南 最近在折腾一个视频内容审核的项目,需要自动过滤掉一些不合适的画面。找了一圈,发现VideoAgentTrek-ScreenFilter这个模型挺对路,它专门用来分析视频内容&a…...

CMIP6实战指南:AI驱动的降尺度技术与区域气候影响深度解析

1. CMIP6与AI降尺度技术入门指南 当我们需要研究某个城市未来50年的气温变化时,全球气候模型(GCM)给出的数据往往像一张模糊的低像素照片——你能看出大概轮廓,但看不清细节。这就是CMIP6数据面临的典型问题:它的空间分…...

如何构建个人数字图书馆:知识星球内容永久保存完整方案

如何构建个人数字图书馆:知识星球内容永久保存完整方案 【免费下载链接】zsxq-spider 爬取知识星球内容,并制作 PDF 电子书。 项目地址: https://gitcode.com/gh_mirrors/zs/zsxq-spider 你是否曾经为知识星球上的优质内容无法永久保存而焦虑&…...

Xinference-v1.17.1在嵌入式开发中的应用:基于Keil5的AI模型部署

Xinference-v1.17.1在嵌入式开发中的应用:基于Keil5的AI模型部署 1. 引言 嵌入式设备越来越需要AI能力,但传统方法往往受限于计算资源和内存大小。Xinference-v1.17.1作为一个高效的AI推理框架,为嵌入式开发带来了新的可能。通过Keil5这样的…...

数据摄取构建模块简介(预览版)(二)僬

Qt是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本笔记将重点介绍QSpinBox数值微调组件的常用方法及灵活应用。…...

如何在5分钟内为视频自动生成专业字幕:VideoSrt开源工具深度指南

如何在5分钟内为视频自动生成专业字幕:VideoSrt开源工具深度指南 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 还在为视…...

RabbitMQ消费者处理失败

1. 原生 RabbitMQ 机制:依赖 Ack 和“丢回去”(Requeue) RabbitMQ 服务端本身没有内置“最多重试 N 次然后丢弃”这种复杂的本地计数机制。它主要依赖**消息确认机制(ACK)**来保证消息不丢失。 当消费者处理失败时&…...

高效CAJ转PDF工具:一站式解决学术文献格式转换难题

高效CAJ转PDF工具:一站式解决学术文献格式转换难题 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换,成功与否,皆是玄学。 项目地址: https://gitcode.com/gh_mi…...

Wonder3D终极指南:如何用一张图片快速创建专业3D模型

Wonder3D终极指南:如何用一张图片快速创建专业3D模型 【免费下载链接】Wonder3D Single Image to 3D using Cross-Domain Diffusion for 3D Generation 项目地址: https://gitcode.com/gh_mirrors/wo/Wonder3D 还在为复杂的3D建模软件而烦恼吗?Wo…...

AI原生研发能力评估体系(2026权威实测版):覆盖LLM编译器、Agent工作流、RAG-Native架构等9大新兴栈

第一章:AI原生软件研发技术雷达图2026版全景概览 2026奇点智能技术大会(https://ml-summit.org) 2026版AI原生软件研发技术雷达图基于全球327个生产级AI应用项目、18家头部云厂商平台能力评估及41项开源工具链实测数据构建,覆盖模型即服务(M…...

fre:ac音频转换器:你的数字音乐整理终极方案

fre:ac音频转换器:你的数字音乐整理终极方案 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 你是否曾为杂乱无章的音乐文件而烦恼?或是面对不同设备间的格式兼容问题束手无策&am…...

深入探索Linux Test Project:专业级Linux系统测试框架完全指南

深入探索Linux Test Project:专业级Linux系统测试框架完全指南 【免费下载链接】ltp Linux Test Project (mailing list: https://lists.linux.it/listinfo/ltp) 项目地址: https://gitcode.com/gh_mirrors/ltp/ltp Linux Test Project(LTP&#…...

BR实用操作

文章目录B&R 4.3下载安装B&R 4.3下载开始安装安装结束注意点Upgrdate 安装注册授权Could not find Automation Runtime direcotry N3.34 报错B&R 修改模拟ip删除temp文件默认连接虚拟 onine修改ipBR冗余配置BR模拟配置BR模拟BR授权OPC UA开启和端口设置OPC UA上传配…...

密码学-背包密码举例说明

题目 超递增的背包:(3,5,10,23)将此作为私钥,模数n 47,乘数逆元m - 1 6。 (乘数m 8, 8*6 mod 47 1) 以二进制方式解密文C1 20,C2 29。 解题 发送方 公钥是常规包&a…...