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