数据库表的数据被delete后,磁盘上的.dat文件没有被全部删除

原表数据.dat磁盘存储如下


原表数据全部被delete后过了一小时,磁盘存储如下
请问为啥还是保留了一个最大文件,这不是增大了磁盘的负担吗

(帖子被作者删除,如无标记将在 24 小时后自动删除)

sr数据库有数据异常删除恢复机制,删除是异步的,通过调整元数据和数据的过期保留周期参数来控制异步清理磁盘。

我过了一个小时,我看数据被异步删除了。但是为啥只删了一部分,看起来是有2个_0.dat文件,但是delete只删除了一个,保留了另一个比较大的

delete的是全表?

是的,delete的全表

对应的参数调整后在看一下

什么参数,能发一下文档吗。

fe参数 catalog_trash_expire_second
be参数 trash_file_expire_time_sec

FE:
ADMIN SET FRONTEND CONFIG (“catalog_trash_expire_second” = “60”);
BE:
curl -X POST http://<BE_IP>:8040/api/update_config?trash_file_expire_time_sec=60;

60秒,清空一次回收站,清空后再改回来,默认是一天。

您好,请问delete的数据是base_compaction_interval_seconds这个参数吗,trash_file_expire_time_sec这个参数是正对truncate的情况吧

truncate正常不会放回收站,drop 不加force的情况下回收站是会有的,delete的数据应该也是放回收站才对。