对于我的新应用程序 - 一种Android聊天 - 我想将我的消息本地存储在数据库中。 我最近看到别人怎么做。所以我在手机上看到了Whatsapp的SQLite数据库。在那里,他们将每个对话的所有聊天消息放在同一个表中。 重点是读/写新信息排序成千上万的消息,以显示只有与你的谈话伙伴似乎很多effER。Android聊天 - 数据库体系结构
我自己以为我想为每个聊天做一张桌子。所以我可以直接加载消息而不检查作者 - 因为表名将是我正在与之交谈的用户名。我认为这可能会更快 - 特别是如果你有很多消息。
我的问题是,他们为什么在一张桌子上这样做?为每个聊天做一个(例如,“Android每个数据库只能处理10个表”的限制)是否是错误的?
我知道这是一个非常理论性的问题,但也许有人可能会给我一个提示如何正确地做到这一点!
谢谢!
快速执行数据库中的SELECT。 WhatsApp的方法是正确的。使用您的解决方案,您将使用许多磁盘空间资源。最糟糕的是有100个表(每次聊天一次),每个表中有10条消息,有1个表,1000个寄存器。 (我没有downvoted) –
所以你赞成在较高的存储使用率上稍微长一点的处理时间。谢谢,很高兴听到这一点。 –
在这种情况下,是的。很高兴能够帮助你:)如果可以,请使用'order by' SQL语句。 “通过代码”订购更有效率。处理,你需要的将是快速的,我保证;) –