您的位置 首页 > 德语词汇

droptable的 MySQL小技巧:删除大表数据时,drop table执行不下去怎么办

这篇文章给大家聊聊关于droptable的,以及MySQL小技巧:删除大表数据时,drop table执行不下去怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

droptable的 MySQL小技巧:删除大表数据时,drop table执行不下去怎么办

1、最近遇到了一个坑,MySQL数据库服务器硬盘容量告警,而且因为非技术原因,还不能追加硬盘。

2、通过监控发现,磁盘IO一直100%。直接影响就是系统处理时间越来越长,接口响应耗时也越来越多。

3、经过分析,发现mysql业务数据库里有好几张大表,而且这几张大表行数都在5000万以上,文件大小都在100G和150G之间。

4、因为这些表都是备份表,第一反应就是找DBA直接清理掉这些表。潜意识里以为droptable和truncatetable效率很高,都会快速完成,但事实上不是。但意外的是,在执行droptable时,直接导致数据库挂起了,而且还发生了主从切换。

5、第一次失败反应出来的问题是,如果数据文件过大,droptable操作也得慎用。

6、那我们可以在droptable之前,想办法把数据文件逻辑清空。比如Linux硬连接的方式,具体步骤如下(假如目标表名是test):

7、此时,磁盘上真实的数据其实没删除,但数据库里的表,已经删除了。

8、到此,数据就能快速清理成功了。

好了,文章到此结束,希望可以帮助到大家。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023