tidb有高水位这个说法吗

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1。5

请问一下各位大神每天对表delete操作,会像oracle那样产生高水位吗,如果有,有没什么命令清理高水位?

tidb通过mvcc管理数据,删除的数据不会真的清理空间,相当于产生了高水位,有自动gc的任务,gc过之后删除的数据就不会被扫描到了,相当于降低了水位。但是如果真的要回收空间的话,得等集群compact,才会整合数据文件,释放空间。

1 个赞

收到,非常感谢

DELETE 操作并不会立即释放磁盘空间,而是将数据标记为可删除,等待TiDB的GC(Garbage Collection)进程(默认10分钟,可以通过tikv_gc_life_time参数来修改这个时间)来清理这些不再需要的数据。这与Oracle中的高水位(HWM)概念类似,TiDB中的GC进程会定期运行,清理标记为可删除的数据,从而释放空间

会产生的,只不过是标记删除,gc后会把标记删除的释放,kv会自动发起compact,当然也可以手动alter table compact

可以参照这里看看

1 个赞

应该没有

tidb insert delete update都是追加新kv数据操作,需要compact后释放过来gc的key

可以手动执行compact,https://docs.pingcap.com/zh/tidb/stable/tikv-control