KKB: MySQL的bug :删除数据,不会导致ibdata1文件 缩小

删除索引 发现ibd的文件大小不会发生改变

 

而再次添加相同的索引的,idb文件也不会改变

 

添加其他列的索引,ibd文件会变大

 

查阅资料发现:

https://bugs.mysql.com/bug.php?id=1341

我们注意到删除包含5G数据的数据库不会导致ibdata1文件 缩小,因此一旦将计算机用于此目的,它将继续占用大量磁盘 空间。这是一个严重的问题。如果分析或优化SQL命令可以解决该问题,我们将很高兴地运行一个。我们不需要只要我们可以在加载过程完成后将其收回,就可以自动回收该空间。

 

 

我的猜测是: 索引文件在idb中不会被mysql删除,但是当你调用drop删除索引命令之后,会将创建的B+树,标记为:不再使用。等到你再次创建相同的索引,该标签就会舍弃。

 

 

 

上一篇:mysql ibdata1文件过大解决


下一篇:Failed to start MySQL 8.0 database server.