After reading the below comment in vacuum.c I'm wondering if anyone has written a simple tool to do the faster vacuum mentioned in the comment? Given of course that no one's going to be accessing the file while it's running. A fair chunk of my stuff tends to be loading a bunch of things into a brand new database, doing analyze and vacuum, then making the file read only and releasing it to be queried for reference. So a faster vacuum would be nice. It would also eliminate my need for the "depreciated" temp_store_directory pragma when vacuuming databases that are larger than the free space on my C drive where the default temp folder is.
"Only 1x temporary space and only 1x writes would be required if the copy of step (3) were replaced by deleting the original database and renaming the transient database as the original. But that will not work if other processes are attached to the original database. And a power loss in between deleting the original and renaming the transient would cause the database file to appear to be deleted following reboot." In the same train of thought: What's the difference between .backup and .clone in the CLI, and would either of those do the equivalent? .backup ?DB? FILE Backup DB (default "main") to FILE .clone NEWDB Clone data into NEWDB from the existing database _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users