操作delete或者update语句,加个limit或者循环分批次删除

简介: 操作delete或者update语句,加个limit或者循环分批次删除

1、降低写错SQL的代价

清空表数据可不是小事情,一个手抖全没了,删库跑路?如果加limit,删错也只是丢失部分数据,可以通过binlog日志快速恢复的。

2、SQL效率很可能更高

SQL中加了limit 1,如果第一条就命中目标return, 没有limit的话,还会继续执行扫描表。

3、避免长事务

delete执行时,如果age加了索引,MySQL会将所有相关的行加写锁和间隙锁,所有执行相关行会被锁住,如果删除数量大,会直接影响相关业务无法使用。

4、数据量大的话,容易把CPU打满

如果你删除数据量很大时,不加 limit限制一下记录数,容易把cpu打满,导致越删越慢。

5、锁表

一次性删除太多数据,可能造成锁表,会有lock wait timeout exceed的错误,所以建议分批操作。

相关文章
|
人工智能 文字识别 计算机视觉
【AAAI 2024】M2Doc:文档版面分析的可插拔多模态融合方法
M2Doc是一种创新的多模态融合方法,设计用于增强文档版面分析任务中的纯视觉目标检测器。该方法包括Early-Fusion和Late-Fusion模块,前者通过门控机制融合视觉和文本特征,后者则在框级别合并这两种特征。M2Doc易于集成到各种目标检测器,实验证明它能显著提升DocLayNet和M6Doc数据集上的性能,特别是与DINO结合时,在多个数据集上达到SOTA结果。此外,研究表明M2Doc对于增强复杂逻辑版面分析任务中的文本理解和语义关联特别有效。
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
833 5
|
弹性计算 Ubuntu Shell
为eRDMA注册超大内存
本文介绍如何在eRDMA环境下注册大量内存。
1195 0
|
存储 SQL JSON
【MySQL从入门到精通】【高级篇】(二十五)EXPLAIN中ref、rows、filtered、Extra字段的剖析
上一篇文章我们介绍了 【MySQL从入门到精通】【高级篇】(二十四)EXPLAIN中select_type,partition,type,key,key_len字段的剖析,重点介绍了EXPLAIN命令的select_type,partition,type,key,key_len 字段含义。这篇文章我将接着介绍剩余字段的含义。本文会介绍ref、rows、filtered、Extra这几个字段。比较重要的两个字段是rows、Extra
2394 0
【MySQL从入门到精通】【高级篇】(二十五)EXPLAIN中ref、rows、filtered、Extra字段的剖析
|
NoSQL Java Redis
手机验证码登录
手机验证登录分为三个API接口,分别为:获取图片验证码、获取手机短信验证码、登录。 1.获取图片验证码:通过工具类生成图片验证码,将随机验证码保存到session中,将图片验证码转为base64码放到对应的entity字段里。
10396 0
|
安全 Windows
Windows关闭Microsoft Defender服务
【8月更文挑战第19天】以下是关闭Windows系统中Microsoft Defender的几种方法:通过设置界面可临时关闭实时保护等功能;使用组策略编辑器(专业版适用)可较彻底关闭;修改注册表需谨慎;或利用第三方工具如Defender Control便捷操作。关闭后系统将失去实时防护,请确保有其他可靠安全软件保护。
8439 0
|
缓存 资源调度 前端开发
一步步实现Nginx +Docker + Jenkins前端自动化部署
一步步实现Nginx +Docker + Jenkins前端自动化部署
1191 1
|
Java 数据库 Spring
Mybatis-Plus动态表名插件实现数据库分表查询
Mybatis-Plus动态表名插件实现数据库分表查询
Mybatis-Plus动态表名插件实现数据库分表查询

热门文章

最新文章