本文主要是介绍MySQL中快速删除大表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,背景:某些情况下需要清理线上的大表。
如果设置了分区表的归档日志表,需要删除指定日期前的数据,直接truncate 或者drop table 可能造成所在服务器的IO吃满,进而影响线上业务。这里我们介绍采用硬链接的方式进行删除大表
2,解决方案
这里需要利用了linux中硬链接的知识,来进行快速删除。
所谓的硬链接,就是不止一个文件名
指向node Index
,有好几个文件名
指向node Index
。
假设,这会又有一个文件名
指向上面的node Index
,即
这个时候,你做了删除文件名(1)
的操作,linux系统检测到,还有一个文件名(2)
指向node Index
,因此并不会真正的把文件删了,而是把步骤(2)
的引用给删了,这步操作非常快,毕竟只是删除引用。于是图就变成了
这篇关于MySQL中快速删除大表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!