By design, Core Data does not issue a VACUUM SQL command to its SQLite database(s), as detailed here. I'm creating a Core Data application that'll store, and later delete, large binary files (2-10MB in size) in a SQLite db. Over time this will lead to fragmentation and a larger-than-necessary SQLite database. I'd like to periodically issue a VACUUM command, say, during a cleanup operation I run.
- How can I progmatically issue a VACUUM command to Core Data's SQLite stores?
- Is it possible to do this through Core Data, or must I mount the SQLite db and connect to it directly to execute the VACUUM SQL?