Mysql冷知识之delete大量数据的后遗症

新问题

  • 当delete大批量数据后,查看空间没有减少,反而还增加了;

知识点

  • 问题产生的原因:
    • 当用delete大量删除数据后,特别是 varchar, text, blob类型的,会留下许多的数据空洞,并占据原有空间,所以在物理上查看文件大小没有变化;
    • 以后在插入数据的时候可能会再度利用起来,也可能一直存在不被利用;
    • 空洞不仅会额外增加存储代价,还会因为数据碎片化降低了对表的扫描效率;
    • 可以通过命令

show table status from world like 'city';
查看data free的值;

  • 解决方法:
    • 使用 optimize命令;

optimize local table city;
此命令锁表,谨慎操作!

课程视频

mysql_coldknowlegde_lesson5 on bilibili
mysql_coldknowlegde_lesson5 on xigua

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容