2011-07-25 46 views
1

我有一个Sqlite数据库表有200K +记录。数据库大小为25 + MB。我已经完成搜索字段的索引。提高iPhone上的sqlite性能应用

要在SQLiteManager和iphone的刺激器中搜索一个类似搜索(SELECT DISTINCT id,name FROM tbl WHERE name like'something%')的特定单词,它需要0.2-0.3秒,并且在设备中稍微多点。还行吧。

我只是想知道是否有任何其他数据库比sqlite(我看到一些应用程序使用.pdb文件),这将使它快得多。或者还有其他方式来处理大型数据库。 (如将大桌子拆分为几个桌子等)

因为在下一步我需要做复杂的搜索。事实上,我已经做复杂的SQL相结合两个表,处理时间要高得多(2 - 3秒模拟器和在该装置超过4-5秒)

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

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

+1

针对您的问题及其核心数据只有一个单词解决方案。 – Robin

+0

那么,如果我将sqlite数据库移植到core-data,那么Robin的性能会提高吗?你能否给我一个简单的性能比较。如果性能差异在50%左右,我会为之付出。 – Viraj

+1

您可能需要为您的添加打开另一个问题,因为这是一个单独的问题。这是一个常见的问题。看到这个搜索http://stackoverflow.com/search?q=prepopulate+%5Bcore+data%5D – TechZen

回答