我在我的iPhone应用程序中使用了一个非常大的数据库在oder中的一个列上使用索引,以便更快地在此数据库中进行搜索.问题是这个索引增加了数据库的大小:我的应用程序现在大于20 Mo需要wifi下载(我想保持低于20 Mo以便允许3G下载).
因此,为了减小这个数据库的大小,我想在第一次启动应用程序时在用户的iPhone上创建索引.
“在MY_TABLE(MYCOLUMN)上创建指数INDEX_ON_MYCOLUMN”
你知道如何在我的XCode代码中包含这个查询吗? sqlite3_something?
顺便说一句,如何在此操作后以编程方式压缩数据库?
非常感谢你的帮助 !
解决方法
sqlite3_exec()可能会做你想要的.您可以在每次启动时运行它,而不仅仅是第一次启动(额外的时间将无害地失败).当然,你的发布时间可能会变得很糟糕.
另见VACUUM ANALYZE.