今天收到磁盘报警异常,50G的磁盘被撑爆了,分析解决过程如下:

1. 进入linux服务器,查看mysql文件夹中各个数据库所占的磁盘空间大小

看到了吗,光olderdb就占了25G

2. 用SQLyog登录mysql数据库,查看数据库各个表的占用空间情况

SELECT CONCAT(table_schema,'.',table_name) AS 'aaa',

table_rows AS 'Number of Rows',

CONCAT(ROUND(data_length/(1024*1024*1024),6),' G') AS 'Data Size',

CONCAT(ROUND(index_length/(1024*1024*1024),6),' G') AS 'Index Size' ,

CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),6),' G') AS'Total'

FROM information_schema.TABLES

WHERE table_schema LIKE 'olderdb';

3. 查询主键索引

SHOW INDEX FROM orbit

采取策略

前提:目前需要删除80%的数据

① delete语句

我们知道delete语句的删除速度与索引量成正比,此表中的索引量已经很大了,而且数据量非常之巨大,若采用常规delete语句删除,必定会话费几天的时间。

Delete语句删除不会释放出磁盘空间,所以肯定还是会出现报警,所以此种方式不可取。

② drop掉表

新建结构相同的表,命名“cc”,'将需要保存的数据插入到此表中,然后drop掉老表。

Sql语句如下:

基于老表新建新表

CREATE TABLE cc LIKE orbit ;

插入数据(几百万的数据量一定要分批插入,一次30万-40万为最佳,毕竟mysql的数据处理能力有限)

按日期查询后插入(每天大概会产生30多万数据量,所以采用日期插入)

INSERT INTO cc SELECT * FROM orbit WHERE xttime > '2018-04-16 00:00:00' AND xttime<='2018-04-17 00:00:00';

结果如下:

可以看到50多万的数据量用了不到5分钟,还是比较快的。

清理后数据表空间得以释放

然后drop掉老表

DROP TABLE orbit

目测只用了3秒左右

重命名新表“cc”

ALTER TABLE cc RENAME TO orbit

总结

以上所述是小编给大家介绍的mysql数据库如何实现亿级数据快速清理 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

mysql怎么快速删除亿级数据_mysql数据库如何实现亿级数据快速清理相关推荐

  1. mysql没有索引删除一亿数据_mysql数据库如何实现亿级数据快速清理

    今天收到磁盘报警异常,50G的磁盘被撑爆了,分析解决过程如下: 1. 进入linux服务器,查看mysql文件夹中各个数据库所占的磁盘空间大小 看到了吗,光olderdb就占了25G 2. 用SQLy ...

  2. mysql删除新添加数据_MySQL数据库基础(六)——SQL插入、更新、删除操作

    MySQL数据库基础(六)--SQL插入.更新.删除操作 一.插入数据 1.为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值. INSERT INTO ta ...

  3. mysql表如何删除一条数据_mysql如何删除表中一行数据?

    mysql中使用DELETE语句删除表中一行数据,语句为"DELETE FROM 表名称 WHERE 列名称 = 值".删除所有行的语句为"DELETE FROM tab ...

  4. mysql 中如何删除重复的数据_mysql如何快速删除重复的数据

    在mysql中去重,其实是一个很简单的事情,来看下面的例子: mysql> DROP TABLE test; Query OK, 0 rows affected (0.01 sec) mysql ...

  5. mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...

    该篇文章我们介绍由于非法硬件关机,造成了MySQL数据库的数据表损坏,数据库不能正常运行的一个实例.下面学步园小编来讲解下MySQL数据库非法关机造成数据表损坏怎么排查? MySQL数据库非法关机造成 ...

  6. mysql查询每个用户第一条数据_MySQL数据库订单表按用户邮箱字段分组查询每个用户的第一条记录...

    程序开发或者一些数据统计时,在MySQL中使用GROUP BY分组是很常用的SQL语句.那么,如果如下的简单示例订单数据表,我们现需要使用GROUP BY分组后查询每个用户的第一个订单记录,应该如何实 ...

  7. Mysql数据库快速插入亿级数据

    Mysql数据库快速插入亿级数据 接手一个项目,该项目运行了两三年了.接手的时候,只有一个部署文档和全部代码,再没有其他文档了,也没有其他任何人了解这个项目.好吧,试着深入了解吧.代码在测试环境跑来了 ...

  8. excel统计行数_百万到亿级数据,快速统计查询

    大家好,我是dk.这是Excel神器PowerQuery实战入门系列的第3篇.往后,我会更新更多关于PQ的相关内容,有兴趣的小伙伴可以关注下. 众所周知,Excel2003版最大行数是65536行,到 ...

  9. 阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了

    说在前面 在尼恩指导了几百个小伙伴的面试,在这些过程中, 非常.非常高频的一个面试题: 千万级数据,如何做性能优化? 亿级数据,如何做性能优化? 最近,有个小伙伴阿里二面,又遇到了这个问题. 其实,尼 ...

最新文章

  1. Introduction to 3D Game Programming with DirectX 12一书学习记录(第一个例子编译错误)
  2. 一篇文章搞定GVIM(根据工作经验持续更新)
  3. 超级大汇总!200多个最好的机器学习、NLP和Python教程
  4. boost::geometry::intersection用法的测试程序
  5. PHP 使用 OSS上传文件
  6. python主循环方法mainloop_python gobject.mainloop吞噬信号事件
  7. Python 新浪微博 各种表情使用频率
  8. 答复审稿人的10条简易法则,你都学会了吗?
  9. 作者:李翠平, 女, 中国人民大学信息学院教授、 博士生导师。
  10. 【数理逻辑四】谓词逻辑及形式系统 【下】
  11. Lesson 29 SVD decomposition
  12. python语言编写一个生成九宫格图片的代码_python生成九宫格图片
  13. IDEA安装MySQL版本以及驱动jar包下载问题
  14. 解决Windows无法加载中文(中国)-王码五笔输入法 86版 键盘的布局的方法
  15. 2020南京大学919经济学原理金融学学硕-上岸
  16. 记录性能测试脚本开发的过程
  17. 【公司邮箱如何申请】怎么写加密邮件,企业邮箱支持吗?
  18. 那位仁兄或者仁姐能给小弟一个菊花论坛的邀请码
  19. 使用Visual Leak Detector工具检测内存泄漏
  20. Redis学习笔记(四):配置文件详细说明(redis-3.2)

热门文章

  1. 哈佛结构与冯诺伊曼结构
  2. mysql主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server
  3. mysql 按比例计算排名_计算MS SQL中的百分比排名
  4. PCA与2DPCA及2D-2DPCA零基础理解(下)
  5. 求最小公倍数(扩展版)
  6. 演示4:python的币值转换-含tkinter
  7. 【2023】浙江大学计算机考研信息汇总
  8. python矩阵和向量乘法总结
  9. NYOJ 题目772 数独
  10. 13 个非常有用的 Python 代码片段,建议收藏!