MySQL如何优雅的删除大表实例详解
解决办法这个可能就需要DBA不辞辛劳,大晚上爬起来删表了。譬如1000万条数据,写脚本每次删除20万,睡眠一段时间,继续执行。这样也能做到对用户无感知。这个方法利用了linux下硬链接的知识,来进行快速删除,不记得话可以回去翻一下《鸟哥的linux私房菜》执行上面命令后,我们就多了一个data_center_update_log.ibd.hdlk文件。当我们删除其中任何一个文件时,都不会影响磁盘上真实的文件,只是将其引用数目减去1。正是利用这个特点,将由原来mysql来删除大文件的操作,转换为一个简单的操作系统级的文件删除,从而减少了对mysql的影响。很快,200万条数据只用了1秒完成,此操作是在创建硬链接后执行的
用户评论