首页 > 代码库 > mysql线上数据库单表超过200G的处理
mysql线上数据库单表超过200G的处理
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的处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。