Hi,
Currently VACUUM takes care of sqlite-level fragmentation. Unfortunately
it does little for fs-level fragmentation since the same file is being
reused. It would be really beneficial for Mozilla performance if we
could get a vacuum/hotcopy mode.
As I understand it, currently vacuum works by copying out the data to a
new file, then copying it back in and truncating the original db file.
It would be really nice to instead do something like:
copy the data to a new file
swap the underlying filehandles to point at new file
remove old file
rename the new file to old name.
This yields two benefits:
A less fragmented db
~50% vacuum speedup since the data is only copied once
Currently we can copy the data to a new file, but it is a pretty
invasive change to swap all of the current sqlite connections to the new
file. Things like prepared statements, etc need to be updated for every
single db consumer. Thus it would make sense to have this feature on the
sqlite side.
Is this reasonable request?
Thanks,
Taras
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users