Ios 基于SQLite的核心数据:删除索引以减小大小,然后重新创建

Ios 基于SQLite的核心数据:删除索引以减小大小,然后重新创建,ios,objective-c,sqlite,core-data,Ios,Objective C,Sqlite,Core Data,是否可以删除Core Data的底层SQLite数据库中的索引,以节省空间并在以后自动重新创建索引 还有什么其他的可能性可以将数据库的大小减小到最小,并对其进行压缩/压缩?在核心数据API级别不支持这种做法。但是您应该在传递给-addPersistentStoreWithType:configuration:URL:options:error:的选项字典中将NSSQLitePragmasOption作为选项查看 我经常在字典中添加NSSQLiteAnalyzeOption和NSSQLiteMan

是否可以删除Core Data的底层SQLite数据库中的索引,以节省空间并在以后自动重新创建索引


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

在核心数据API级别不支持这种做法。但是您应该在传递给
-addPersistentStoreWithType:configuration:URL:options:error:
的选项字典中将
NSSQLitePragmasOption
作为选项查看

我经常在字典中添加
NSSQLiteAnalyzeOption
NSSQLiteManualVacuumOption


如果您真的想压缩空间,您可以随时手动操作.sqlite文件,在核心数据堆栈不活动时进行压缩和解压缩。我自己从来没有理由这么做。我总是受速度而不是大小的限制。

核心数据不使用MySQL。核心数据可以使用SQLite 3作为其底层数据库引擎,而不是MySQL。