我有一个同步过程,我使用Core Data
来存储大量信息。有几次我用组织者下载了真实的SQLite
数据库文件来检查数据是否正确。
前几天我意识到两个SQLite
文件的大小差异很大。一个文件是80MB,另一个文件大约是100MB。当我用SQLite
查看器检查其中的数据时没有区别。相同的表,相同的索引,相同的行。怎么可能?当我删除Core Data
上的对象时,是否有可能某些数据仍在文件中?
编辑:
解决方案是一个选项标志,可以插入选项NSDictionary中,并作为参数添加到addPersistentStore方法中。
NSSQLiteManualVacuumOption
Option key to rebuild the store file, forcing a database wide defragmentation when the store is added to the coordinator.
This invokes SQLite's VACUUM command. It is ignored by stores other than the SQLite store.