Script de publicación interesante. La instrucción Vacuum en SQLite copia toda la base de datos en un archivo temporal para la reconstrucción. Si planea hacer esto "On Demand" a través de un usuario o algún proceso, puede tomar una cantidad considerable de espacio en disco y tiempo para completar una vez que su base de datos supera los 100 MB, especialmente si está mirando varios GB. En ese caso, es mejor utilizar la declaración AUTO_VACUUM = pragma verdadero al crear la base de datos, y simplemente eliminar registros en lugar de ejecutar el VACÍO. Hasta ahora, esta es la única ventaja que puedo encontrar que SQL Server Compact tiene sobre SQLite. On demand SHRINK de la base de datos Sql Server Compact es extremadamente rápido en comparación con el vacío de SQLite.
No he tenido tiempo de probarlo, pero este pragma se ve bien. Sin embargo, dado que este no es el valor predeterminado, se debe observar el comportamiento exacto aquí: http://www.sqlite.org/pragma.html#pragma_auto_vacuum – tmighty
Además, los argumentos pueden no ser simplemente "verdaderos" o "falsos", sino más bien "0,1,2, NINGUNO, LLENO, INCREMENTAL". – tmighty