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

标签 android database performance sqlite

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

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

2- 是否有已知的解决方案来加快数据库查询?

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

最佳答案

是的,您可以拥有一个包含 1M 记录的数据库。如果数据库没有预先填充,那么您可以按正常方式进行,但是如果您想使用预先填充的数据库,则不能依赖 Assets 原始文件夹,因为大小限制为 10mb,但您可以使用以下库,当您的应用程序首次启动时,它会从 assets 文件夹中复制数据库。 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 在您的应用程序中使用它。

关于android:要在数据库中查找的 1M 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105888/

相关文章:

android - 环在 android kitkat 中旋转时变形

android - 操作栏位置问题

database - 管理约会的表格

performance - Powershell 脚本的速度。寻求优化

c - 赋值与增量操作

.net - Linq - 更好的 `Enumerable.Except()` 运算符(性能和灵活性)?

android - Android 应用程序中的 Shopify

Android Twitter Fabric - 保留一条推文

php - 如何使用中介来连接 Laravel 中的表?

php - 外键可以为空或留空吗?