码迷,mamicode.com
首页 > 数据库 > 详细

mysql线上数据库单表超过200G的处理

时间:2017-08-09 20:06:46      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:需要   暂停   设计   big   过滤   blog   时间   主键   一段   

tbl_user_data占用了大量磁盘空间,数据表占用大概200G,索引30G左右,查询非常慢,影响业务的支持进行现在需要对它进行清理

临时解决方案是将原表重命名,新建一个和这个表相同的空表来替换(缺点是不能做到根治,隔一段时间以后需要重新处理)

根除的办法是重新设计,或者在客户端进行过滤避免过多垃圾数据进入系统

1.新建一个和现在表相同结构的表
create table tbl_user_data_new like tbl_user_data

将主键的ID改为bigint并且unsigned无符号,存储大一倍

技术分享

2.停用服务端服务,需要根据实际业务选择暂停服务时间

3.重命名原表并且20170809bak
将tbl_user_data_new改为tbl_user_data即可

4.重新启动服务,看到已经有新的数据进入到刚才的表中,此处变更成功

mysql线上数据库单表超过200G的处理

标签:需要   暂停   设计   big   过滤   blog   时间   主键   一段   

原文地址:http://www.cnblogs.com/reblue520/p/7327160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!