大数据量mysql解决方案_历史数据清理方案

大数据量mysql解决方案_历史数据清理方案阅文时长 | 0.6分钟 字数统计 | 963.2字符 主要内容 | 1、引言&背景 2、Delete删除法 3、提取回写删除法 4、声明与参考资料 『MSSQL·大数据量历史数据清

MSSQL·大数据量历史数据清理的思路

阅文时长 | 0.6分钟 字数统计 | 963.2字符
主要内容 | 1、引言&背景 2、Delete删除法 3、提取回写删除法 4、声明与参考资料
『MSSQL·大数据量历史数据清理的思路』
编写人 | SCscHero 编写时间 | 2021/7/15 PM10:45
文章类型 | 系列 完成度 | 已完成
座右铭 每一个伟大的事业,都有一个微不足道的开始。

一、引言&背景   完成度:100%

a) 应对问题

面对上亿级别的数据量的删除/迁移时,删除时间往往非常长,是否有更高效的做法?

b) 应对场景

大数据量迁移/删除时(如海量历史数据删除),需要高效的清理手段。

c) 解决原理&方法

  1. Delete删除法:适用于删除小数据量的数据(个人认为适用于删除数据量在200万以下)。
  2. 有效数据提取,回写删除法:(个人认为适用于删除数据量远大于保留数据量,比例在2:8的情况可以考虑。如总量1亿的数据表,有9000万无效数据,1000万有效数据。)

二、Delete删除法   完成度:100%

Delete删除语句,T-SQL基础了。简单带过。

--基本语法
DELETE [DBName].[TableName] WHERE [Column]="XXXX"

三、提取回写删除法   完成度:100%

a) 主要思路

  1. 先写好查询语句,将准备提取的有效数据提取到另一张表。
  2. TRUNCATE原表,在GUI界面删除主键约束及自增属性。
  3. 将有效数据插回到原表中,设定好原来的主键约束及自增属性。

b) 常见Q&A

  1. 为什么要在GUI界面删除主键约束及自增属性。
    目前由于更改自增属性,MSSQL底层处理逻辑使用T-SQL实现较为复杂,因此使用GUI界面更改的方式。如遇到”阻止保存要求重新创建表的更改配置”等窗口,点击传送门。
  2. 在有效数据插回到原表后,设置主键及自增属性,为什么那么慢?
    因为MSSQL对数据表结构更改底层的处理是新建一个临时表,设定为自增主键,把数据插入再插回这一系列操作,所以理论上数据量越大,速度则越慢。如遇超时问题,点击传送门。
  3. 对于自增列问题使用,设置为”允许显式插入自增列”是否可行?
    在数据回写的时候也尝试过此问题,但即使开启了允许显式插入自增列,还是要报需要开启…。因此最简单的方式是关闭自增属性。
SET IDENTITY_INSERT [tablename] ON

四、声明与参考资料   完成度:100%

原创博文,未经许可请勿转载。

如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6026.html

(0)
上一篇 2023-04-18
下一篇 2023-04-19

相关推荐

  • mysql 主从复制[通俗易懂]

    mysql 主从复制[通俗易懂]1, 准备二台机器或者服务器 ,保持mysq 版本一样或者版本相差不大; 主机:114.215.198.39 从机:116.62.234.228 2 新建一个数据库 我的数据库是hlqzxm; 进入…

    2023-03-27
    166
  • redis妙用_生活小诀窍

    redis妙用_生活小诀窍Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。 随之而来的一系列最佳实践,使得大多数人可以正确地

    2023-02-15
    154
  • 华为终端云服务的应用体验如何关闭_华为云终端盒子

    华为终端云服务的应用体验如何关闭_华为云终端盒子  华为终端云服务的应用体验如何?听说华为终端设备都会下载华为的自有应用,不知道用起来感觉怎么样?   PS:我的手机总爱丢,这心大的性格是改不了了,有没有什么好用的功能在手机丢了的时候能找到?从小…

    2023-02-28
    157
  • mycat读写分离方案一

    mycat读写分离方案一1.什么是MYCAT 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 …

    2023-02-17
    145
  • 面试官:说出八种消息队列的应用场景。啊?八种?

    面试官:说出八种消息队列的应用场景。啊?八种?本文来源于公众号:胖滚猪学编程。转载请注明出处! 一个风度翩翩,穿着格子衬衣的中年男子,拿着一个满是划痕的mac向她走来,看着铮亮的头,胖滚猪心想,这肯定是尼玛顶级架构师吧!完了要挂了。 结果面试官第

    2023-03-04
    158
  • SQL 对查询结果进行排序(ORDER BY)「终于解决」

    SQL 对查询结果进行排序(ORDER BY)「终于解决」学习重点 使用 ORDER BY 子句对查询结果进行排序。 在 ORDER BY 子句中列名的后面使用关键字 ASC 可以进行升序排序,使用 DESC 关键字可以进行降序排序。 ORDER BY 子句

    2023-04-28
    143
  • 大数据分组怎样才会更快一些_大数据新手教程

    大数据分组怎样才会更快一些_大数据新手教程分组是数据库的常见运算,无论数据如何准备,通常都需要将所有数据遍历。建立索引这时是不起作用的,存储格式才是决定遍历效率的主要因素。数据库中数据的存放虽然是二进制格式的,但普遍IO性能差,库内遍历快,…

    2023-03-12
    146
  • MySQL学习指南

    MySQL学习指南MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM

    2023-04-17
    176

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注