34亿的mysql表如何优雅的扩字段长度兵并归档重建

这篇具有很好参考价值的文章主要介绍了34亿的mysql表如何优雅的扩字段长度兵并归档重建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

业务背景:

该系统有一张表数据量已达到34亿,并且有个字段长度不够,导致很多数据无法插入。因为业务只要保留近2个月数据即可,所以需要接下来需要做2点:1,扩字段长度 2,只保留近2个月的数据。

于是有了接下来的方案:
1,delete  2个月 之前的数据 ,然后扩字段长度-----  否决:binlog太大

2,truncate表 ,然后扩字段长度 --- 否决,业务需要保留2个月数据

3,1,新建一张同样的表 然后扩字段长度,并将两个月的输入插入进去,2,然后 将新建表换个原表名,原表名换为bak表。3, 从bak表中将 最近的数据补充到 业务表中。 ---  通过


以下是方案3的详细步骤:【需要历史数据 & 新数据的插入】的归档重建

业务表 tb3

create table tb3_bak like tb3;

show create table tb3_bak\G

insert into tb3_bak select * from tb3 where create_time>='2023-07-01' and create_time<'2023-07-11 17:00:00';

rename table tb3 to tb3_wait4drop, tb3_bak to tb3;

扩表字段 动作忽略。。。。。。。

insert into tb3 select * from tb3_wait4drop where create_time>='2023-07-11 17:00:00';

待验证通过后(下个变更窗口):

drop table tb3_wait4drop;文章来源地址https://www.toymoban.com/news/detail-684052.html

到了这里,关于34亿的mysql表如何优雅的扩字段长度兵并归档重建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 8.X 如何优雅的实现字段名称批量修改?

    写入es前,数据格式如下 需求:单纯用pipeline可不可以实现,如果写入key包含json_提换为空,包含tmp提换为core,因为key字段有很多不考虑穷举,最终效果要如下: ——问题来源:死磕Elasticsearch知识星球 https://t.zsxq.com/0bzWL3w1X Elasticsearch mapping 一旦创建是不允许修改的!允许更

    2023年04月09日
    浏览(35)
  • 使用oracle修改表字段长度

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Oracle是一种关系数据库管理系统(RDBMS),由美国Oracle公司开发和维护。它是全球最受欢迎和广泛使用的商业数据

    2024年02月10日
    浏览(35)
  • Oracle字段长度不足位数补零

    有时候从数据库中取出的月份值是1,而不是01,该怎么办呢 注意 1、第一个参数为待补字符;第二个参数表示补齐后的总字符长度;第三位表示不足时补什么字符; 2、lpad是左侧补0,右侧补0可用rpad

    2024年02月12日
    浏览(43)
  • DedeCms自定义字段调用长度截取方法

    比如调用的字段为test 方法一:运行php法.. [field:test runphp=yes] @me=substr(@me,截取字节) [/field:test] 方法二:调用内置函数法 [field:test function=’cn_substr(@me,截取字节)’/] 两种方法其实差不多的. 第二种方法更适合中文的截取.是dedecms封装好的内置函数 效果比第一个要好的多..

    2023年04月16日
    浏览(48)
  • SQ工具|2|ArcGIS数据结构(字段名称、字段长度、字段类型、允许为空)的修改

    方式一:借用ArcToolBox中的合并工具(方法来自于GIS思维) 数据管理工具常规合并 右侧四个按钮可实现添加字段、删除字段及调整字顺序的需求   右击目标字段,点击属性,即可实现更改字段名称、类型、长度及允许空值的功能。 点击确定后即可生成所需数据。 但! 我们使

    2024年02月13日
    浏览(91)
  • 使用navicat利用sql语句查询表所有字段的字段名,类型,长度。

    想要在navicat下,用sql语句查询一个表的所有字段和其相关信息。 打开所需要查询的表的数据库 查新建询 把下面的sql语句复制粘贴到新建的查询编辑器中并修改库名和表 这样表的相关信息就会显示出来了,将其选中,点击鼠标右键,——复制为——制表符分隔值(字段名和

    2023年04月08日
    浏览(96)
  • [中间件~大厂面试题] 腾讯三面,40亿的QQ号如何去重

    前言: 在Spring Boot框架下,可以使用以下方法来去重40亿个QQ号.请注意:QQ号码的理论最大值为 2 32 − 1 2^{32} - 1 2 32 − 1 ,大概是43亿左右。 如果限制在1GB内存,并且不依赖外部存储或中间件, HashSet 、 Java 8 Stream 都无法满足要求。 文件分片和外部排序算法可以适应1GB内存限

    2024年02月08日
    浏览(54)
  • MySQL 使用规范 —— 如何建好字段和索引

    一、案例背景 二、库表规范 1. 建表相关规范 2. 字段相关规范 3. 索引相关规范 4. 使用相关规范 三、建表语句 三、语句操作 1. 插入操作 2. 查询操作 四、其他配置 1. 监控活动和性能: 2. 连接数查询和配置 本文的宗旨在于通过简单干净实践的方式教会读者,如何更好地使用

    2024年02月09日
    浏览(33)
  • es修改字段ignore_above属性长度

    在ElasticSearch中keyword,text类型字段都可以设置ignore_above属性(默认是10) ,表示最大的字段值长度,超出这个长度的字段将不会被索引,但是会存储, ignore_above一般设置为256(筛选该字段,并且去除非分词字段的大小限制) ,设置为30000可能会出现BulkFailureException keyword类型:

    2024年02月17日
    浏览(51)
  • MySQL如何查看添加修改表以及字段注释信息

    MySQL数据库中,如何查看表和字段的注释信息,以及如何添加,修改表和字段的注释信息呢?这里简单总结归纳一下。仅供参考。 方法1:创建表的时候添加表的注释信息 方法2:使用ALTER TABLE给表添加注释 如果修改表的注释信息,只能使用上面的方法2. 方法1:查看表的创建脚

    2024年03月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包