drop大表

 

删除大表:

drop大表_第1张图片

 

 

1、给对应表的ibd文件建立硬链接,因为表的数据和索引都在该文件中。
 ln /home/work/status.ibd    /home/work/status.ibd.hdlk
2、主库上删除表,那么该语句执行后会将status.ibd和status.frm文件删除。
drop table status;
# 在128G内存,2.5T的ssd上测试:
300G的ibd文件,则需要7秒
而1.2T的ibd文件,则需要48秒,因为innodb表有三个地方存储,分别是frm、ibd、ibdata1共享表空间,可能数据在ibdata1共享表空间中存放得比较多,从而更耗时。
3、删除硬链接文件
echo "" > /home/work/status.ibd.hdlk
rm -rf /home/work/status.ibd.hdlk

你可能感兴趣的:(drop大表)