新问题
- 当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