[英]Core Data sqlite file growing
我有一个同步过程,我使用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.
由于性能原因,Sqlite在删除数据时不会主动返回未使用的磁盘空间。 这可能就是您看到差异的原因。 有关更多信息,请参见此链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.