У меня возникли проблемы с размером файла dets.Почему dets file_size не уменьшает после удаления всех ключей
> {ok,D1} = dets:open_file(sample_dets_file, [{type, set},{auto_save,3}]).
{ok,sample_dets_file}
> [dets:insert(D1,{{fid,X},"this is sample data"}) || X <- lists:seq(1,10000)].
> dets:info(D1).
[{type,set},
{keypos,1},
{size,10000},
{file_size,769748},
{filename,"sample_dets_file"}]
> [dets:delete(D1,{fid,X}) || X <- lists:seq(1,10000)].
> dets:info(D1).
[{type,set},
{keypos,1},
{size,0},
{file_size,770092},
{filename,"sample_dets_file"}]
После вставки - {size,10000}, {file_size,769748}
После Удалить- {size,0}, {file_size,770092}
.
Размер файла не уменьшился даже после того, как таблица пуста. Однако, когда я выполняю delete_all_objects
, размер файла возвращается к норме.
> dets:delete_all_objects(D1).
> dets:info(D1).
[{type,set},
{keypos,1},
{size,0},
{file_size,5464},
{filename,"sample_dets_file"}]
Я не мог понять, что, кроме того, мне нужно делать вместе с операцией удаления так, чтобы уменьшить FILE_SIZE. Проблема заключается в том, что dets file_size ограничен 4gb, даже если объекты удалены, я достигаю ограничение размера файла dets.
Thanks @RichardC – SameeR