问题参考自:假设表的引擎是 Innodb, MySQL 5.7+删除一条记录,首先锁住这条记录,数据原有的被废弃,记录头发生变化,主要是打上了删除标记。也就是原有的数据 deleted_flag 变成 1,代表数据被删除。但是数据没有被清空,在新一行数据大小小于这一行的时候,可能会占用这一行。这样其实就是存储碎片。之后,相关数据的索引需要更新,清除这些数据。并且,会产生对应的 binlog 与 redolog 日志。解决方案我们很容易想到,在 delete 后加上 limit 限制控制其数量,这个数量让他会走索引,从而不会锁整个表。之后,将所有企业类型的数据,插入新表,同时如果已存在则证明发生了更新同步就不插入。个体户数据由于业务变化,并不在这个表上更新,所以这样通过了无表锁同步实现了大表的数据清理
mysql 大表批量删除大量数据的实现方法
用户评论
推荐下载
-
mysql操作创建表删除表创建库
showdatabases;刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。2、显示库中的数据表:usem
52 2019-07-15 -
oracle批量删除数据
优点:删除速度快,100万记录大约3分钟。但是不能删除某段时间的数据,大家研究出来记得共享。
43 2019-05-31 -
hibernateTemplate批量删除数据
对于Hiberante对数据库种数据删除操作的归纳
36 2019-07-15 -
php批量删除数据
php批量删除数据
7 2021-01-04 -
Mysql删除重复的数据Mysql数据去重复
主要介绍了Mysql删除重复的数据 Mysql数据去重复,需要的朋友可以参考下
24 2020-09-21 -
php实现批量删除BOM的函数
UTF8编码的BOM在PHP里面是相当让人烦恼的,有了这个函数,你可以很方便的解决这个烦恼
33 2019-02-15 -
线性表实现插入删除数据
C 数据结构 线性表 插入删除数据 构造两个数组,合并
32 2018-12-09 -
如何在mysql中删除表
在mysql中,删除表可以通过使用DROP TABLE语句来完成。DROP TABLE语句将删除一个指定的表,同时将该表所包含的表结构和数据一并删除。具体操作步骤可参考下文。
29 2023-03-19 -
高手的Oracle大批量删除数据的方法.htm
高手的Oracle大批量删除数据的方法.htm
15 2020-07-23 -
删除大量文件工具
之前遇到一个情况,一个文件夹下有60多万个小文件,文件名都含有日期,命名很有规律,要删除其中的一部分,界面操作比较困难,稍有不慎就会死机,用bat脚本也是,所以写个小程序处理下,里面是代码,编译下就可
29 2019-03-29
暂无评论