- 【TiDB 版本】:3.0.1
- 【问题描述】:在做数据delete之后,如何能够快速释放空间
4.3.5 TiDB 中删除数据后会立即释放空间吗?
DELETE,TRUNCATE 和 DROP 都不会立即释放空间。对于 TRUNCATE 和 DROP 操作,在达到 TiDB 的 GC (garbage collection) 时间后(默认 10 分钟),TiDB 的 GC 机制会删除数据并释放空间。对于 DELETE 操作 TiDB 的 GC 机制会删除数据,但不会释放空间,而是当后续数据写入 RocksDB 且进行 compact 时对空间重新利用。
4.3.11 对数据做删除操作之后,空间回收比较慢,如何处理?
可以设置并行 GC,加快对空间的回收速度。默认并发为 1,最大可调整为 tikv 实例数量的 50%。可使用 update mysql.tidb set VARIABLE_VALUE=“3” where VARIABLE_NAME=“tikv_gc_concurrency”; 命令来调整。
4.3.11所说的设置并行GC, 对于delete操作, 按4.3.5的说法是即使GC也不会释放空间的,那"加快对空间的回收速度"这句话怎么理解呢
对于空间释放这个问题,有没有其他好的实践呢,是不是更推荐drop, truncate操作