删除大表:
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