删除TiDB大表索引后磁盘空间怎么释放

【 TiDB 使用环境】生产环境 、测试

【 TiDB 版本】v5.1.0

【遇到的问题】生产磁盘空间有限,现删除一大表索引,查看索引占用情况已经从3T降到1.56T,但是对应的Tikv磁盘空间并没有释放,我的gc设置10m,目前已经超过10m,是不是要使用alter table xxx analyze;采用释放磁盘空间。

正常是在GC后才开始清理,需要等一段时间,如果长时间为清理需要看下是不是gc有问题 ,可以看下tidb.log日志, 大概率是bug

1 个赞

我执行analyze table xxx;可不可以释放磁盘空间?

analyze table 可以提高表的统计信息的准确度,满足 SQL 逻辑优化和物理优化的过程,并不能释放数据

只能等 GC

1 个赞

这是重新收集统计信息吧,不能释放磁盘空间


可以参考下这篇文章

1 个赞

analyze是收集统计信息,看你数据库版本,大概率bug

1 个赞

我查看了gc_delete_range_done没有记录,但是gc_delete_range中有记录,不知什么时候gc_delete_range_done有记录,可能手动操作。


https://docs.pingcap.com/zh/tidb/v5.3/alert-rules#tikv_gc_can_not_work

照着这个排查下看下

1 个赞

我查询到的日志如下:


gc_worker.log (52.5 KB)

空间已经释放,只是释放速度感觉有点慢,今天早晨看才释放的。

因为这些空间很大概率会重复用到 所以释放比较慢 第二个ssd其实删除会影响ssd性能。所以删除的动作会很慢

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。