第11问:不小心对一个大表进行了 update,怎么看进度?

ARM编译器5.06 Update 7更新解读:从AC5到AC6的迁移与排错指南 编译器是嵌入式开发中决定代码性能与稳定性的关键工具。在ARM处理器领域,ARM Compiler 5(AC5)与ARM Compiler 6(AC6)分别基于armcc和LLVM架构,二者在编译速度、优化策略及语法支持上存在显著差异,直接影响STM32等Cortex-M项目的开发体验。Keil MDK中常见的“default compiler version 5 is not available”错误,往往源于AC5组件缺失或版本不匹配;而许可证错误C9555E则多由FlexNet缓存或端口冲突引发。掌握编 阅读详情

问题

有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件…
此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。
那我们能知道 update 的进度么?

实验

我们先创建一个测试数据库:

快速创建一些数据:

连续执行同样的 SQL 数次,就可以快速构造千万级别的数据:

查看一下总的行数:

我们来释放一个大的 update:

然后另起一个 session,观察 performance_schema 中的信息:

可以看到,performance_schema 会列出当前 SQL 从引擎获取的行数。
等 SQL 结束后,我们看一下 update 从引擎总共获取了多少行:

可以看到该 update 从引擎总共获取的行数是表大小的两倍,那我们可以估算:update 的进度 = (rows_examined) / (2 * 表行数)

💡小贴士
information_schema.tables 中,提供了对表行数的估算,比起使用 select count(1) 的成本低很多,几乎可以忽略不计。

那么是不是所有的 update,从引擎中获取的行数都会是表大小的两倍呢?这个还是要分情况讨论的,上面的 SQL 更新了主键,如果只更新内容而不更新主键呢?我们来试验一下:

等待 update 结束,查看 row_examined,发现其刚好是表大小:

那我们怎么准确的这个倍数呢?
一种方法是靠经验:update 语句的 where 中会扫描多少行,是否修改主键,是否修改唯一键,以这些条件来估算系数。
另一种方法就是在同样结构的较小的表上试验一下,获取倍数。
这样,我们就能准确估算一个“不小心”执行的大型 update 的进度了。


关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!

Win11 WSL2内核升级与Ubuntu LTS版安装避坑指南 本文详细介绍了在Win11系统上安装WSL2内核并配置Ubuntu LTS版的完整指南,重点解决了常见的0x800701bc错误和安装过程中的各种陷阱。通过内核升级、开发者模式设置、Ubuntu版本选择等关键步骤,帮助开发者高效搭建稳定的Linux开发环境,并提供了日常操作和性能优化的实用技巧。 阅读详情

相关推荐

告别驱动烦恼:纯净、不限速的驱动管理终极方案

驱动程序是操作系统与硬件设备之间通信的桥梁,其核心原理在于提供标准化的接口,使上层软件无需关心底层硬件的具体细节。一个稳定、纯净的驱动环境对于系统性能、安全性和用户体验至关重要。在技术实践中,驱动管理常面临捆绑安装、隐私泄露、限速下载和驱动源混杂等痛点,这些不仅影响效率,更可能引入安全风险。因此,构建一套可靠的驱动管理方案具有极高的技术价值,尤其适用于追求系统稳定性的开发人员、内容创作者和普通用户。本文聚焦于通过官方渠道与开源工具相结合的方法,提供一套从源头确保驱动纯净、下载不限速的完整实践指南,其中重点介

aofan9566的博客 348

Oracle数据库中查看SQL执行进度

round(time_remaining / 60, 2) as "预计剩余时间(分钟)", SQL_TEXT。TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' as "完成百分比",round(elapsed_seconds / 60, 2) as "已执行时间(分钟)",SELECT SE.SID, OPNAME as "正在处理",

zjjsoft的博客 1827

Windows原版镜像全版本获取指南:从XP到11的纯净系统下载与安装

操作系统是计算机软件生态的基石,其核心在于提供一个稳定、安全、可管理的运行环境。系统镜像作为操作系统的载体,其纯净性直接关系到系统的稳定性和安全性。在软件工程实践中,无论是进行系统重装、虚拟机环境搭建,还是为特定硬件平台部署系统,获取官方原版镜像都是至关重要的第一步。这不仅能避免捆绑软件和恶意代码的侵扰,更能确保驱动兼容性和后续更新的顺利进行。例如,在搭建用于安全测试的“web attack 靶场虚拟机”或为特定开发板(如rk3576)寻找适配的Windows 11驱动时,一个纯净的起点能极大减少后续排查问

weixin_34166847的博客 454

Oracle 实现查询 update

MERGE INTO table1 t1 USING ( -- For more complicated queries you can use WITH clause here SELECT * FROM table2 )t2 ON(t1.CONTRACT_ID = t2.AGREEM_ID) WHEN MATCHED THEN UPDATE SET t1.MATERIAL_IDENTIFY = t2.MATERIAL_IDENTIFY; MERGE INTO table1 t1 USING ( .

零落的尘土 1137

pb的datawindow在commit 过程中显示进度与中断

dbcommit.pbl,开发版本pb10.5 作者:xys_777@qq.com 时间:2009-8-11 功能:1、实现datawindow提交显示进度条及gif动画 2、实现datawindow提交可以中断 用法:写个 open(w_tb1) 即可 其他版本没测试,应该可以

汽车级智能栅极驱动器深度解析 | 连载03:功能框图与工作模式详解

在前两期连载中,我们分析了DRV871x-Q1的产品架构、引脚配置和电气特性。本期我们将深入探讨DRV871x-Q1的功能框图和工作模式,这是理解芯片内部工作机制的关键。通过分析功能框图,我们能够清晰地了解各功能模块之间的关系和信号流向;通过工作模式分析,我们能够掌握芯片在不同应用场景下的配置方法。这些知识对于系统设计和故障排查都至关重要。

VehSwHwDeveloper的博客 1098

oracle判断更新行数,如何知道当前正在update第几条记录?

SQL> drop table table1;已刪除表格.SQL>SQL> create table table1(fact_no char(4), fact_odr_no char(10),odr_qty number(5));已建立表格.SQL>SQL> insert into table1 values('0213','A3507001',35);已建立 1 個...

weixin_39758048的博客 1092

攻防世界-Reverse-Game

攻防世界,game,逆向

wuh2333的博客 775

mysql性能问题排查,和优化(更新中)

mysql慢SQL、正在执行的SQL、连接数等性能参数和事务等排查和调整

weixin_46551671的博客 613

全国大学校园网—拓扑图欣赏

全国大学网络拓扑图(一百张) 典型十张 1、 中央财经大学 2、国防科技大学 3、济南大学 4、西安石油大学 5、南通大学IPV6网络 6、中国矿业大学 7、青海师范大学 8、内蒙古科技大学 9、三峡大学 10、中共江苏省党校 剩余90张 点赞、评论获取 ...

LiBai'S BLOG 5万+

Starlink地面终端天线对星(一)对星流程,星历下载,信标信号

starlink卫星终端对星采用机械伺服+相控阵电子扫描的混合模式,兼顾快速盲扫和高精度跟踪;对星流程分三步:冷启动与盲捕获 → 建立初始链路并下载星历 → 进入正常通信模式;

chen2jiang3的博客 2722

sql怎么撤回update_第11问:不小心对一个大表进行了 update,怎么看进度?

问题有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件......此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。那我们能知道 update 的进度么?实验我们先创建一个测试数据库:快速创建一些数据:连续执行同样的 SQL 数次,就可以快速构造千万级别的数据:查看一下总的行数:我们...

weixin_39903176的博客 3498

SAP-ABAP:SAP中如何查看系统表之间的关联关系?

在业务逻辑开发或者ALV开发过程中,我们通常要从系统中找出几个标准表之间的关联关系,有的是head与item,通过外键进行关联的关系。那么怎么去找到呢?以上就是具体如何产看系统表之间的关联关系的步骤,对于不同代码的业务顾问,也是必须要掌握的。

LinkStar的博客 2430

主键update_第11问:不小心对一个大表进行了 update,怎么看进度?

问题有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件......此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。那我们能知道 update 的进度么?实验我们先创建一个测试数据库:快速创建一些数据:连续执行同样的 SQL 数次,就可以快速构造千万级别的数据:查看一下总的行数:我们...

weixin_39757040的博客 132

RK3576 PCIE接口调试:基于RTL8111HS的网卡驱动移植

检查项方法电源电压复位时序检查设备树 reset-gpios链路速率设备识别lspci -vvv驱动加载。

小灰灰的博客 731

1. SAP Fiori Elements 开发环境的搭建和开发准备工作

本文介绍了本地使用 Visual Studio Code 进行 Fiori Elements 开发所需要安装的这个扩展包里6个能够提高 Fiori Elements 应用开发效率的扩展。在本教程后续步骤里我们会通过实际的例子介绍这些 Visual Studio Code 扩展的详细用法。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3451

datagrip怎么查看表结构_第11问:不小心对一个大表进行了 update,怎么看进度?...

问题有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件......此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。那我们能知道 update 的进度么?实验我们先创建一个测试数据库:快速创建一些数据:连续执行同样的 SQL 数次,就可以快速构造千万级别的数据:查看一下总的行数:我们...

weixin_42361764的博客 424

硬核反坑!YOLOv5训练避坑指南:根治梯度消失、不收敛、检测漏框三大核心问题(附实战代码+调优清单)

数据是基础,超参数是关键,模型是工具,训练策略是保障。梯度消失、不收敛、检测漏框这三大问题,本质上都是“数据-模型-训练”不匹配的结果。梯度消失/爆炸:优先调整学习率策略+梯度裁剪,其次优化模型结构;训练不收敛:优先清洗数据集,其次调优超参数,最后检查配置文件;检测漏框:优先重新聚类锚框,其次增强浅层特征,最后调整推理参数。YOLOv5训练的最高境界,不是调参,而是让数据、模型、训练策略三者完美匹配。按本文的方法反坑,你的YOLOv5训练一定能一次成功!🚀。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 233

sqlite怎么获取一个表行数_第11问:不小心对一个大表进行了 update,怎么看进度?...

问题有时候我们会不小心对一个大表进行了 update,比如说写错了 where 条件......此时,如果 kill 掉 update 线程,那回滚 undo log 需要不少时间。如果放置不管,也不知道 update 会持续多久。那我们能知道 update 的进度么?实验我们先创建一个测试数据库:快速创建一些数据:连续执行同样的 SQL 数次,就可以快速构造千万级别的数据:查看一下总的行数:我们...

weixin_39913141的博客 918

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

如何知晓大表无条件的update操作进度?

从前负责应用运维时,时常会碰到一些很崩溃的问题,例如不带where条件的update/delete,《曾经运维生涯中的几个“最”》中"最粗心的一次"就讲了我曾经捅的一个篓子。技术社群的这篇文章《第11问:不小心对一个大表进行了 update,怎么看进度?》给我们讲了一些关注update大表进度的操作,值得借鉴学习,让紧张的情绪,能有所缓解。问题有时候我们不小心对一个大表进行了update,例如说写...

bisal的专栏 225

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【MySQL篇】千万级与亿级大表全表更新的安全操作实践

对比千万级大表直接更新与亿级大表分批更新的技术方案

奈斯DB的博客 1240

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Unity编辑器协程实战:解决GUI阻塞,实现流畅工具开发

在Unity编辑器扩展开发中,处理耗时操作时界面卡顿是常见痛点。协程作为一种控制流程的编程概念,通过yield机制实现代码的暂停与恢复,其核心价值在于将长任务分解为可管理的帧更新单元,从而保持主线程响应性。这一原理在游戏运行时已广泛应用,但在编辑器环境下,由于缺乏内置的更新驱动,传统协程无法直接工作。通过引入Editor Coroutines方案,开发者能在Inspector定制、资源批处理等场景中实现非阻塞操作,如实时进度条更新与异步资源导入。本文基于Unity Editor Coroutines与Edi

angou6476的博客 514

Windows更新卡顿终结者:Reset Windows Update Tool完全指南

你是否曾经遇到过Windows更新卡在某个百分比不动,或者频繁出现各种错误代码?那种等待的煎熬,看着进度条停滞不前的感觉,简直让人抓狂!别担心,今天我要向你介绍一款神奇的工具——Reset Windows Update Tool,它就像一位专业的Windows系统医生,专门治疗各种更新疑难杂症。 ## 🎯 价值亮点速览:为什么选择这个工具? 想象一下,你的Windows系统更新出现了问题,传

gitblog_00689的博客 414

Windows更新修复革命:Reset Windows Update Tool的架构哲学与实战指南

作为一名长期与Windows系统打交道的开发者,我经历过无数次Windows更新卡顿的深夜煎熬。那种看着进度条停留在0%不动,或者反复安装失败的挫败感,相信每个技术人都深有体会。直到我发现了Reset Windows Update Tool,这款工具不仅解决了我多年的Windows更新烦恼,更让我惊叹于其背后的设计哲学和技术实现。 ## 从挫折到突破:一个开发者的自我救赎故事 记得那是一个项目

gitblog_00684的博客 173

3种方法彻底解决Windows系统臃肿问题:Win11Debloat技术深度解析

你是否曾经疑惑,为什么新买的Windows电脑用不了多久就开始变得迟缓?那些预装的应用、后台服务、隐私追踪功能,正在不知不觉中蚕食你的系统资源。今天,让我们一起来探索一个开源解决方案——Win11Debloat,这个基于PowerShell的系统优化工具如何通过模块化设计帮你重新掌控Windows体验。 ## 问题诊断:Windows系统臃肿的根源在哪里? 现代Windows系统在追求功能丰富

gitblog_01104的博客 422
上一篇: 故障分析 | Bad handshake,升级 5.7.28 引起的“血案”
下一篇: 技术分享 | MySQL 组复制数据一致性管理解析
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值