2013-03-25 47 views
0

是否可以在Core Data的基础SQLite数据库中删除索引以节省空间并在稍后自动重新创建索引?基于SQLite的核心数据:删除索引以减小大小并稍后重新创建它们

还有什么其他可能性将数据库的大小减小到最小并压缩/压缩它?

+1

核心数据不使用MySQL。 – 2013-03-25 20:26:44

+0

核心数据可以使用SQLite 3作为其底层数据库引擎,而不是MySQL。 – 2013-03-25 20:41:40

回答

1

在Core Data API级别上没有这种支持。但是您应该看看NSSQLitePragmasOption作为传递给-addPersistentStoreWithType:configuration:URL:options:error:的选项字典中的一个选项。

我经常将NSSQLiteAnalyzeOptionNSSQLiteManualVacuumOption添加到该字典中。

如果你真的想挤压空间,那么你总是可以手动操纵.sqlite文件,当核心数据堆栈不活动时进行压缩和解压缩。我从来没有理由自己做这件事。我总是受速度的限制,而不是规模。