如何使用Xcode以编程方式在SQLite数据库中创建索引?

时间:2010-07-19 14:04:40

标签: iphone xcode sqlite indexing

我在我的iPhone应用程序中使用了一个非常大的数据库。在oder中的一个列上使用索引,以便更快地在此数据库中进行搜索。问题是这个索引增加了数据库的大小:我的应用程序现在大于20 Mo需要wifi下载(我想保持低于20 Mo以便允许3G下载)。

因此,为了减小这个数据库的大小,我想在第一次启动应用程序时在用户的iPhone上创建索引。

我想要执行的SQLite查询如下:

“在MY_TABLE(MYCOLUMN)上创建指数INDEX_ON_MYCOLUMN”

您知道如何在我的XCode代码中包含此查询吗? sqlite3_something?

顺便说一句,如何在此操作后以编程方式压缩数据库?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

sqlite3_exec()可能会做你想要的。您可以在每次启动时运行它,而不仅仅是第一次启动(额外的时间将无害地失败)。当然,你的发布时间可能会变得很糟糕。

另见VACUUM ANALYZE