Is there any rationale for (not) running incremental_vacuum in an
transaction?

Unlike a full VACUUM, it seems to work with or without. 

Purpose:
We are running with auto_vacuum = INCREMENTAL, and when closing the file in
our software, we do an on-demand cleanup like so:

if (Query('pragma freelist_count') > threshold)
   while (time_passed < max_time)
      Exec('pragma incremental_vacuum(1)');

In practcie, the condition involves more than a single query, and we will
elevate that from silent to "with UI" if there's a lot to be reclaimed. 



A quick (statistically insigificant) test suggests that we do make more
progress within an transaction, OTOH it feels "strange". 



--
View this message in context: 
http://sqlite.1065341.n5.nabble.com/incremental-vacuum-within-or-outside-transaction-tp70086.html
Sent from the SQLite mailing list archive at Nabble.com.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to