我有一个同步过程,我用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.