提高iphone应用程序的sqlite性能

时间:2011-07-25 04:36:24

标签: iphone sqlite core-data

我有一个拥有200K +记录的Sqlite数据库表。数据库大小为25 + MB。我已经对搜索字段进行了索引。

要在SQLiteManager和iphone刺激器中使用类似搜索(SELECT DISTINCT id,名称FROM tbl WHERE name,如'some%')搜索特定单词,需要0.2 - 0.3秒,并且在设备中需要更多一点。没关系。

我只是想知道是否有任何其他数据库而不是sqlite(我已经看到一些应用程序使用.pdb文件),这将使它更快。或者还有其他方法来处理大型数据库。 (比如将大表分成几个表等)

因为在下一步中我需要进行复杂的搜索。实际上我已经完成了复杂的sql并结合了两个表,并且处理时间要高得多(模拟器中2 - 3秒,设备中超过4-5秒)

添加: 好的,所以我决定使用核心数据。但接下来是下一个问题。预先填充核心数据。我在stackoverflow和其他地方搜索了几个链接,甚至在apple(http://developer.apple.com/library/ios/#samplecode/CoreDataBooks/)的CoreDataBook示例应用程序中搜索但是所有人都说它从一个媒体复制到核心数据(xml,csv sqlite到核心数据)但在我的我有25 + MB数据库的情况。如果我这样做那么它将是25 + x2 MB。有没有办法可以手动填充核心数据?

确定手动填充核心数据数据库但结果相同。 (有一个改进,但还不够)所以任何想法在iPhone应用程序中处理这个庞大的数据库有更快的结果?

1 个答案:

答案 0 :(得分:1)

嘿@Viraj你可以下载Brad Larson的这个视频,看看他如何使用核心数据确实使他的应用程序Pi-Cubed更快,编码量更少。

http://itunes.apple.com/us/itunes-u/advanced-iphone-development/id407243028

其第7个视频命名 “核心数据”及其免费。