[Feat] 数据库碎片整理
魔方后端数据操作的一些现象
- 当移除配置时,django后端是对记录进行了物理删除
- 配置文件的更新,都是先删除原有记录,然后插入新记录
- 这些删除的操作,会使数据表产生碎片,影响检索性能
应对策略
定期对有“物理删除”操作的数据表进行碎片整理,方法是利用MySQL的事件功能
CREATE EVENT remove_expired_evt
ON SCHEDULE EVERY 15 DAY
STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)
ON COMPLETION PRESERVE
ENABLE
DO call remove_expired()