sqlite - 如何对 Core Data SQLite 数据库进行 VACUUM?

标签 sqlite core-data vacuum

根据设计,Core Data 不会向其 SQLite 数据库发出 VACUUM SQL 命令,如 detailed here .我正在创建一个核心数据应用程序,它将在 SQLite 数据库中存储并稍后删除大型二进制文件(大小为 2-10MB)。随着时间的推移,这将导致碎片化和一个比需要的更大的 SQLite 数据库。我想定期发出 VACUUM 命令,例如,在我运行的清理操作期间。

  • 如何以编程方式向 Core Data 的 SQLite 存储发出 VACUUM 命令?
  • 是否可以通过 Core Data 执行此操作,或者我必须安装 SQLite 数据库并直接连接到它以执行 VACUUM SQL?

最佳答案

在 OS X 10.6/iOS 3.0 及更高版本上支持的方法是设置 NSSQLiteManualVacuumOption在将商店添加到持久性商店协调器时的选项中。

关于sqlite - 如何对 Core Data SQLite 数据库进行 VACUUM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532172/

相关文章:

android - Android 中 Room 根据主键自动排序

reactjs - 在 Electron 应用程序中使用 Sqlite3 更新 Redux

python - 解码Python字符串

database - 在高输入频率应用程序中保留磁盘空间的策略

database - Postgres维护的正确顺序

windows - VACUUM 导致磁盘运行 100% - 这是否正常,我可以阻止它吗?

ruby - 在Ruby中准备和执行SQLite语句

objective-c - 如何比较 coredata 字符串和 NSString

ios - NSBatchDeleteRequest 导致合并冲突

iphone - 如何手动设置 NSManagedObjectID?