Re: Core Data troubles - not removing objects
Re: Core Data troubles - not removing objects
- Subject: Re: Core Data troubles - not removing objects
- From: Benjámin Salánki <email@hidden>
- Date: Sun, 4 Nov 2007 17:37:22 +0100
On Nov 3, 2007, at 11:58 PM, Ben Trumbull wrote:
My problem is, that if I include a huge amount of data like an
uncompressed image that will swell the SQLite file to 72MB,
Generally, large media files should be stored externally to the
database, and a URI and metadata for it stored in a database record.
I know, I was just testing to see if larger amounts of data would make
any difference.
removing the item does not reduce the file size. I found that if I
add another
item later that should be around the same size the file size does not
change so what you wrote makes sense in that the "holes" inside the
file are filled up with new data but I can't get the file size to
reduce even by a few bytes.
What you're seeing is internal fragmentation.
I was thinking of maybe implementing a "consolidate database"
function
that would load the data from the file to memory, remove the file and
recreate the items which would reduce the file size if I am correct.
That's very expensive.
Or does anyone have a better solution?
Yes. You can manually vacuum an SQLite database with:
sqlite3 filename "vacuum"
Very nice, this should do the trick. Thanks for the help!
ben
Programmatically, you can use an NSTask.
- Ben
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden