PHP学习_PHP技术_PHP网站建设_PHP程序员专注于PHP技术研究及学习

Adophper » 数据库 » mysql删除单表大量数据,mysql删除百万级数据

mysql删除单表大量数据,mysql删除百万级数据

此文被围观133日期: 2017-11-02 分类 : 数据库  标签:  ···

今天系统里面有一个的数据达到6770000条数据,需要删除大概400万条数据,

最先用的是delete删除,等了很久没有见到成功。


最后在网上找到的方法:

INSERT INTO t_copy SELECT * FROM t WHERE ... ; //把要删除大量数据的表中不需要删除的数据转存到另外一张表中,这里用了差不多2分钟

RENAME TABLE t TO t_old, t_copy TO t;//同时重明明两张表,间接实现数据删除操作

DROP TABLE t_old; //视情况而定吧,我清理数据是因为业务慢了,但是既然转存之后不会影响业务也就没删除转存出来的数据。

整个清理数据的过程我用了大概2分钟左右


还在原表中看见索引占了1.9G,可能表的索引添加有问题。



参考:http://www.cnblogs.com/imoing/p/3426324.html


本站使用ThinkPHP框架开发读图网主题,目前托管在阿里云,图片由读图网提供. 蜀ICP备12031064号

Copyright © 2011-2017adophper.com All Rights Reserved.