为什么MySQL不建议使用物理删除?
delete物理删除既不能释放磁盘空间,而且会产生大量的碎片,导致索引频繁断裂,影响SQL执行计划的稳定性,同时,在碎片回收时,会耗用大量的CPU,磁盘空间,影响表的正常DML操作。
在业务代码层面,应该做逻辑标记删除,避免物理删除,为了实现归档需求,可以采用MSQL分区特性来实现,都是DDL操作,没有碎片产生。
另外一种比较好的方案是采用clickhouse,对有生命周期的数据表可以使用clickhouse存储,利用其TTL特性实现无效数据自动清除。
作者:敖丙
链接:https://m.zhipin.com/mpa/html/get/column?contentId=25d4916c1e8aa386qxB43tU~&identity=0&userId=523211566