【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1。5
请问一下各位大神每天对表delete操作,会像oracle那样产生高水位吗,如果有,有没什么命令清理高水位?
【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1。5
请问一下各位大神每天对表delete操作,会像oracle那样产生高水位吗,如果有,有没什么命令清理高水位?
tidb通过mvcc管理数据,删除的数据不会真的清理空间,相当于产生了高水位,有自动gc的任务,gc过之后删除的数据就不会被扫描到了,相当于降低了水位。但是如果真的要回收空间的话,得等集群compact,才会整合数据文件,释放空间。
收到,非常感谢
DELETE 操作并不会立即释放磁盘空间,而是将数据标记为可删除,等待TiDB的GC(Garbage Collection)进程(默认10分钟,可以通过tikv_gc_life_time参数来修改这个时间)来清理这些不再需要的数据。这与Oracle中的高水位(HWM)概念类似,TiDB中的GC进程会定期运行,清理标记为可删除的数据,从而释放空间
会产生的,只不过是标记删除,gc后会把标记删除的释放,kv会自动发起compact,当然也可以手动alter table compact
可以参照这里看看
应该没有
tidb insert delete update都是追加新kv数据操作,需要compact后释放过来gc的key