MYSQL数据库因生产原因需要删除大量数据,因数据量太大接近上亿条,用常规delete删除小数据可以,删除几千万大数据量会非常慢,并且不会释放出磁盘空间,还需要optimize或repair来压缩数据表来释放硬盘空间,时间更长,需要几天时间,太慢了!因此采用新建表,导入无需删除的数据,然后删除老表,把新表改名为老表,步骤如下:
1、基于老表新建新表!create table sell_new like sell;
2、插入数据(几千万的数据量一定要分批插入,一次50万为最佳,毕竟mysql的数据处理能力有限),可以按ID查询后插入!insert into sell_new select * from sell where itemid>500000 and itemid<=5500000;
新表中只保留有用的数据,硬盘空间得以释放!
3、drop删除掉老表drop table sell;
4、重命名新表为“sell”alter table sell_new rename to sell;
以上是mysql数据库上亿级大数据如何快速删除操作流程!