android - 每天更新一个巨大的 SQLite 数据库

标签 android database sqlite

好的,我正在进行一个项目,其中数据库将在一个表中保存大约 20000 个元素。示例:我有一家销售 20000 种产品的商店,我想每天更新它们。每天只会更新大约 100-200 个。

我正在考虑将整个数据库本地化,这样会更快。我想知道这是否是解决问题的好方法,还是我应该使用任何其他方式来保存和显示数据?我担心更新文件对于每日下载/更新来说太大了。

是否可以更新数据库,因为每次更新数据库时它都会从 0 开始构建自身?

请原谅我的语法错误。简

最佳答案

您不需要更新数据库。您需要更新数据库内容。让您的应用程序存储任何类型的标识符(比如 int)。每天您发布数据库内容的更新 - 仅与前一天的内容不同。然后,您的应用程序应检查服务器上数据库的当前 ID,然后获取并应用数据库包含的 ID 与最新版本之间的所有差异。或者根据要求构建一个更新文件,了解客户对内容的修订以及最新内容。如果用户每天都使用您的应用,那么这没什么大不了的。

s it possible to update a database due to the fact that everytime you update the database it builds itself from 0?

那么你很可能做错了。您需要能够增量构建(或者至少您应该始终能够将相同的 ID 分配给即来自数据库的相同产品)。

或者如果最终的数据库转储很小(即 5MB-50MB-500MB - 你能想到的)。只需让您的应用获取整个数据库文件并替换旧内容,而无需浪费时间和精力进行增量更新,因为处理这些内容比替换整个数据库要花费更多的时间/金钱。

关于android - 每天更新一个巨大的 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546053/

相关文章:

java - Retrofit 2.0 无法解析Json嵌套对象

database - Azure 认知搜索能否用作某些数据的主数据库?

database - 我在破译 MySQL 错误日志时遇到问题,通过 "forward engineer"选项获得

ruby - 使用 WHERE 筛选数据库结果

c# - 如何组织自定义 SQl 查询集合

java - Android 查看资源膨胀

java - 按日期对 RecyclerView 进行排序

SQLite 删除表别名

iphone - sqlite 索引性能建议

java - Twitter4j API 中的 DirectMessage 身份验证