首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL——如何快速删除大表

MySQL——如何快速删除大表

作者头像
思索
发布于 2024-08-14 15:52:28
发布于 2024-08-14 15:52:28
3.2K0
举报

前言

线上有一个表,大小为24G左右,没有什么重要的数据,却一直没有优化,导致业务无法进行,在此环境上,所以我们开始了删除之路

步骤

复制表

我这里使用Navicat工具直接复制表,选择仅结构即可。

创建硬链接

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

代码语言:javascript
复制
ln instruction.frm instruction.frm.bak
ln instruction.ibd instruction.ibd.bak

删除表

代码语言:javascript
复制
DROP TABLE "表格名";

24G的数据删除大概用了15秒左右

修改表名

将我们刚才复制的表,表名修改为线上正常使用的表名即可。

删除物理文件

切记大的物理文件不可直接删除,直接操作会导致磁盘IO和CPU利用率升高,影响线上业务可使用truncate来进行删除操作。

代码语言:javascript
复制
truncate -s 2G instruction.ibd.bak
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前言
  • 步骤
    • 复制表
    • 创建硬链接
    • 删除表
    • 修改表名
    • 删除物理文件
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档