本文主要是介绍MySQL中快速删除大表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,背景:某些情况下需要清理线上的大表。
如果设置了分区表的归档日志表,需要删除指定日期前的数据,直接truncate 或者drop table 可能造成所在服务器的IO吃满,进而影响线上业务。这里我们介绍采用硬链接的方式进行删除大表
2,解决方案
这里需要利用了linux中硬链接的知识,来进行快速删除。


所谓的硬链接,就是不止一个文件名指向node Index,有好几个文件名指向node Index。
假设,这会又有一个文件名指向上面的node Index,即

这个时候,你做了删除文件名(1)的操作,linux系统检测到,还有一个文件名(2)指向node Index,因此并不会真正的把文件删了,而是把步骤(2)的引用给删了,这步操作非常快,毕竟只是删除引用。于是图就变成了
这篇关于MySQL中快速删除大表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!