如何真空核心数据的SQLite数据库?(How to VACUUM a Core Data SQLi

2019-07-21 06:36发布

按照设计,核心数据不发出真空 SQL命令其SQLite数据库(一个或多个),如在这里详述 。 我创建将存储,后来在一个SQLite数据库中删除,大的二进制文件(大小为2-10MB)核心数据的应用程序。 随着时间的推移,这将导致分裂和大于必需的,SQLite数据库。 我想定期发出VACUUM命令,说,清除操作,我运行期间。

  • 我怎样才能progmatically发出VACUUM命令核心数据的SQLite的店?
  • 是否有可能通过核心数据要做到这一点,或者我必须安装的SQLite数据库,并连接到直接执行真空SQL?

Answer 1:

10.6 / iOS 3.0及更高版本支持的方式做到这一点,在OS X,是设置NSSQLiteManualVacuumOption在选择时要添加店里持久存储协调。



Answer 2:

是的, vacuum的SQLite中公认的SQL语句。 它可以作为一个正常的查询, 或因此它说 。

小心,不过,因为它会导致过多的文件系统的读取和写入,在几乎任何系统,更不用说服务器文件系统碎片化的瓶颈在Windows服务器上。



文章来源: How to VACUUM a Core Data SQLite db?