MySQL——如何快速刪除大表


前言

線上有一個表,大小為24G左右,沒有什么重要的數據,卻一直沒有優化,導致業務無法進行,在此環境上,所以我們開始了刪除之路

步驟

復制表

我這里使用Navicat工具直接復制表,選擇僅結構即可。

創建硬鏈接

如果不知道自己的存儲位置,可使用show variables like "datadir";查看自己的數據存儲位置。

ln instruction.frm instruction.frm.bak
ln instruction.ibd instruction.ibd.bak

刪除表

DROP TABLE "表格名";

24G的數據刪除大概用了15秒左右

修改表名

將我們剛才復制的表,表名修改為線上正常使用的表名即可。

刪除物理文件

切記大的物理文件不可直接刪除,直接操作會導致磁盤IO和CPU利用率升高,影響線上業務可使用truncate來進行刪除操作。

truncate -s 2G instruction.ibd.bak


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM