我应该将消息存储在我的数据库中还是每次都查询系统 SMS 数据库?
Posted
技术标签:
【中文标题】我应该将消息存储在我的数据库中还是每次都查询系统 SMS 数据库?【英文标题】:Should I store messages in my database or query the system SMS database everytime? 【发布时间】:2018-05-28 05:59:57 【问题描述】:我正在开发一个短信应用程序。每次用户打开应用程序时,我都会收到来自 android Database
的消息。
在大约有 100 条消息的设备上,它运行良好。但是对于具有 10,000 条消息的设备,该应用在获取所有信息后需要大约 20 秒才能显示列表。
为了解决这个问题,我在这里考虑三种可能的选择:
-
我应该考虑将所有数据保存到我自己的
database
吗?它会更快吗?
我应该先收到一些消息,然后在后台收到其余消息吗?
您可能建议的任何其他选项。
提前致谢。
【问题讨论】:
您必须像分页一样...根据位置获取第一条记录从您的服务器获取下一条记录 【参考方案1】:以下是您问题的答案
1.我应该考虑将所有数据保存到我自己的数据库吗?会吗 让它更快?
不,不要那样做。这不会使它更快。您将得到相同的响应。
2。我应该先收到一些消息,然后在 背景?
您可以这样做,但不需要这样做以在后台获取所有消息。因为用户可以看到有限数量的消息,并且他可能不会看到底部的所有消息。所以让那些在后台是没有用的(直到或除非有业务需求)
您可能建议的任何其他选项。
是的,您需要实现分页,并且需要跟踪第一次需要加载多少条消息,以及在用户滚动时获得更多消息。在这种情况下,您需要自己跟踪已加载的消息数量以及要加载的消息数量。要实现这一点,您将需要实现 android 的 PULL TO REFERESH 机制。很多教程都可以在网上找到。
希望能回答你的问题。
【讨论】:
我选择了分页。谢谢。以上是关于我应该将消息存储在我的数据库中还是每次都查询系统 SMS 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
我应该将我的 Nuxt 应用程序直接部署到 Google App Engine 还是应该在我的代码存在于存储库中的地方使用 Gitlab CI/CD?