MySQL如何优雅的删除大表
发布时间:2022-12-19 13:34:36 所属栏目:MySql教程 来源:转载
导读: 前言
删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名"
,这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候。这样一条命令下去,MySQL可能就直接夯住
删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名"
,这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候。这样一条命令下去,MySQL可能就直接夯住
前言 删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名" ,这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候。这样一条命令下去,MySQL可能就直接夯住了,外在表现就是QPS急速下降,客户请求变慢。 解决办法1.业务低峰时间手动执行删除 这个可能就需要DBA不辞辛劳,大晚上爬起来删表了。 2.先清除数据,最后再删除的方式 譬如1000万条数据,写脚本每次删除20万,睡眠一段时间,继续执行。这样也能做到对用户无感知。 3.对表文件(idb文件)做一个硬链接来加速删除 这个方法利用了linux下硬链接的知识mysql删除表,来进行快速删除,不记得话可以回去翻一下《鸟哥的linux私房菜》
4.登陆mysql,执行drop表操作
5.如何正确删除ibd.hdlk 硬链接文件呢5.1 安装truncate 命令
5.2 truncate 常用选项
5.3 truncate_bigfile.sh脚本
因为有悔,所以披星戴月;因为有梦,所以奋不顾身!个人博客首发:easydb.net (编辑:沈阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐