android:1M记录在数据库中查找

时间:2016-05-08 23:24:37

标签: android database performance sqlite

我将开发一个类似电话簿的应用程序,它将在一百万条记录中查找指定的名称。我主要关注的一个问题是查找性能。 所以我的问题是:

1-在Android中拥有1M记录的SQLite数据库是否可行?

2-是否有任何加速数据库查询的已知解决方案?

关于第二个问题,我想到使用索引并将数据库分解为几个较小的数据库。 如果不可行,是否有任何已知的方法来处理这个问题?

1 个答案:

答案 0 :(得分:1)

是的,您可以拥有包含1M记录的数据库。如果未预先填充数据库,则可以按正常方式继续操作,但是如果要使用预先填充的数据库,则不能依赖资产原始文件夹,因为大小限制为10mb,但您可以使用以下库,在您的应用首次启动时从资产文件夹复制数据库。 https://github.com/jgilfelt/android-sqlite-asset-helper

另一个解决方案是将您的数据放在服务器上,可能是amazon AWS,用于快速数据处理,并从您的应用程序调用服务器(GET请求)。

你可以很容易地测试一切。从这里获取一个包含4M行的示例SQL数据库:https://dev.mysql.com/doc/employee/en/employees-introduction.html。将数据转换为sqlite并使用android-sqlite-asset-helper在您的应用程序中使用它。