我的应用需要读取从SQL数据库导出的一些数据。除了阅读之外,应用程序还应查询数据库以查找不同数据之间的关系。 潜在地,数据量可能非常大。 当然,一切都应该是响应性的,而不是对用户体验产生负面影响。
这是我的疑问:我打算以XML格式导出数据库并使用XPath运行查询,但我并不是100%确定这种方法足够有效,特别是如果在数据库大约有数千个。
你能告诉我有关iOS中XPath的效率和性能的信息吗?这对于大型XML数据库来说是一个很好的解决方案吗?
Sqlite会更好,更有效吗?通过使用Sqlite,我冒着让我的应用程序沉重的风险吗?
谢谢!
答案 0 :(得分:1)
我的许多iOS应用程序都使用存储在SQLite数据库中的数据。我对SQLite数据库非常信任。
我的一些数据库在表中有超过30000个元素,应用程序会根据条件进行复杂查询,例如过滤/分组。这很快。
创建SQLite数据的最佳方法是从原始数据库导出为CSV并在新的SQLite数据库中导入数据。 You can find an example here.
答案 1 :(得分:1)
你绝对应该在iOS应用程序中使用SQLite而不是XML。我会为这样的数据库推荐最好的包装器:https://github.com/ccgus/fmdb 使用FMDB +在后台线程中进行查询时,即使使用大数据库,也不会影响应用程序的性能。