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

桂平逗乐游戏招聘网站开发/拉新app推广接单平台

桂平逗乐游戏招聘网站开发,拉新app推广接单平台,广东双语网站建设价格,网站建设南昌问题参考自:https://www.zhihu.com/question/440066129/answer/1685329456 ,mysql中,一张表里有3亿数据,未分表,其中一个字段是企业类型,企业类型是一般企业和个体户,个体户的数据量差不多占50%…

问题参考自:https://www.zhihu.com/question/440066129/answer/1685329456 ,mysql中,一张表里有3亿数据,未分表,其中一个字段是企业类型,企业类型是一般企业和个体户,个体户的数据量差不多占50%,根据条件把个体户的行都删掉。请问如何操作?答案为个人原创

假设表的引擎是 Innodb, MySQL 5.7+

删除一条记录,首先锁住这条记录,数据原有的被废弃,记录头发生变化,主要是打上了删除标记。也就是原有的数据 deleted_flag 变成 1,代表数据被删除。但是数据没有被清空,在新一行数据大小小于这一行的时候,可能会占用这一行。这样其实就是存储碎片。

之后,相关数据的索引需要更新,清除这些数据。并且,会产生对应的 binlog 与 redolog 日志。

如果 delete 的数据是大量的数据,则会:

如果不加 limit 则会由于需要更新大量数据,从而索引失效变成全扫描导致锁表,同时由于修改大量的索引,产生大量的日志,导致这个更新会有很长时间,锁表锁很长时间,期间这个表无法处理线上业务。

由于产生了大量 binlog 导致主从同步压力变大

由于标记删除产生了大量的存储碎片。由于 MySQL 是按页加载数据,这些存储碎片不仅大量增加了随机读取的次数,并且让页命中率降低,导致页交换增多。

由于产生了大量日志,我们可以看到这张表的占用空间大大增高。

解决方案

我们很容易想到,在 delete 后加上 limit 限制控制其数量,这个数量让他会走索引,从而不会锁整个表。

但是,存储碎片,主从同步,占用空间的问题并没有解决。可以在删除完成后,通过如下语句,重建表:

alter table 你的表 engine=InnoDB, ALGORITHM=INPLACE, LOCK=NONE;

注意这句话其实就是重建你的表,虽然你的表的引擎已经是 innodb 了,加上后面的, ALGORITHM=INPLACE, LOCK=NONE 可以不用锁表就重建表。

还有一种方案是,新建一张同样结构的表,在原有表上加上触发器:

create trigger person_trigger_update AFTER UPDATE on 原有表 for each row

begin set @x = "trigger UPDATE";

Replace into 新表 SELECT * from 原有表 where 新表.id = 原有表.id;

END IF;

end;

这样可以保证线上业务有新数据会同步。之后,将所有企业类型的数据,插入新表,同时如果已存在则证明发生了更新同步就不插入。个体户数据由于业务变化,并不在这个表上更新,所以这样通过了无表锁同步实现了大表的数据清理

到此这篇关于mysql 大表批量删除大量数据的实现方法的文章就介绍到这了,更多相关mysql 大表批量删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

http://www.lbrq.cn/news/2343637.html

相关文章:

  • 网站建设摘要/优化网站排名
  • 网站建设与seo论文/丁的老头seo博客
  • 学做网站的视频/镇江网站定制
  • 庆阳定制网站/淘宝补流量平台
  • 企业网站优化外包/成都网站推广哪家专业
  • 多后缀域名查询网站/外贸互联网推广的
  • 嘉兴做网站建设的公司/网站自动秒收录工具
  • 网站设计公司佛山/百度热搜词排行榜
  • wordpress翻译教程/当阳seo外包
  • 呼叫中心网站建设/如何注册网址
  • 政府网站谁来做/四川二级站seo整站优化排名
  • 创新网站设计/全国培训机构排名前十
  • 网站建设行业怎么样/seo优化中商品权重主要由什么决定
  • 南宁推广软件/武汉seo优化服务
  • 怎么做网购网站/合肥seo优化排名公司
  • 国内做视频的网站有哪些/外链发布软件
  • 帝国网站数据库配置文件/2345网址中国最好
  • 云南商城网站建设/关键词你们懂的
  • 沈阳电子商务网站建设/百度seo推广
  • 新疆建设监理协会网站/百度灰色关键词技术
  • 搭建php网站环境/地推的方法和技巧
  • 做跨境网站注意事项/搜索引擎优化的具体操作
  • 网站后台换图片/bing收录提交
  • 怎么做信息采集的网站/深圳纯手工seo
  • 网站建设要学会编程吗/星链友店
  • wordpress 制作首页模板/简单网站建设优化推广
  • 南京html5网站建设/百度数据库
  • 公司做网站流程/友情链接是什么
  • 网站建设开票内容是什么意思/seochinazcom
  • 广告网站怎么设计制作/职业教育培训机构排名前十
  • 厂区车辆导航系统:基于 GPS+AI 动态路径规划的技术实现与实践
  • 优学教育官网搭建01首页
  • 时序预测 | Pytorch实现CNN-LSTM-KAN电力负荷时间序列预测模型
  • 虚拟货币交易:游走在合法与犯罪的生死线
  • 【Learning Notes】 Derak Callan‘s Business English P38~40
  • AI驱动的软件工程(下):AI辅助的质检与交付