MySQL-mysql删除大体积表问题
最近发现mysql数据库里一张表达到了100多个G,将磁盘空间都占满了。最初想截取某个时间,将之前的delete掉,失败。后来尝试truncate,等几个小时没有响应,再后来干脆想drop掉,依然是等N久没有响应,请教各位大牛还有什么好的方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
innodb的表可以用下面的方法进行快速删除
对要删除的表数据文件做一个硬连接:
root@ # ln tt.ibd tt.id.hdlk
进入数据库删除表
mysql> drop table tt;
进入数据文件目录删除硬连接文件
root@ # rm tt.id.hdlk
对于 VLDB 这种情况,MySQL应该有相关优化处理机制,没涉及到,希望找到解决方法后及时共享。
1、 CREATE TABLE newtable LIKE mytable;
2、 ALTER TABLE mytable RENAME oldtable;
3、 ALTER TABLE newtable RENAME mytable;
4、 进入mysql的data目录,直接rm oldtable;
这样可以不用停msyql清空数据,不会丢失最新数据