最新消息:时间抓起来说是金子,抓不住就是流水。

MYSQL清理数据方案

MySql 老子黑牵翻 6587浏览 1评论

方案一
直接在需要清理数据的表上执行delete命令,删除需要删除的数据。这样执行,不影响正常进数据,数据的安全性能够得到保证,但是效率非常低。

方案二
修改表名ALTER TABLE aaa RENAME TO bbb
新建表 show create table bbb 把得到的建表语句复制出来,但需要把新建的表的名字改成aaa即可,然后再放到mysql去执行。
同样,我们可以把上面的执行过程写入到一个.sql文件中,到时直接导入到对应的数据库中即可
然后就执行
insert into aaa select * bbb where;
这样导入,速度会比较快,但也有弊端,就是自增ID的问题,因为你写这个的时候,特别是建表的时候,那个自增ID如果是2000,但是这个时候又在向原来的表进数据,所以新建aaa表时自增ID需要设置稍微大点
这种方案转移清理数据比较快,但是可能会有数据的丢失(主要是在执行这些操作的时候,这张表还在进数据)

虽然有以上两种方案清理数据库里面的数据,但个人认为,对于这种需要清理的表,数据量非常大的表,最好还是在开发阶段就做分表处理,根据数据的多少来决定分表的时间间隔,这样的优点是清理比较方便,而且也会让表保持在一个适量的数据范围内,不至于影响对mysql的操作

转载请注明:LINUX服务器运维架构技术分享 » MYSQL清理数据方案

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 博主,这篇文章写得很好,对我帮助非常大
    重新开始12年前 (2012-10-12)回复