聊天应用中的消息数据库设计

时间:2015-11-08 06:35:20

标签: ios sqlite

我正在使用聊天应用。您可以与一个人聊天或创建(加入)一个组。我正在考虑数据库应该如何存储所有消息。

我想出了两个解决方案:

解决方案1.将所有消息存储到一个表中;

解决方案2.为用户加入的每个人或组创建一个消息数据库。

解决方案1很容易实现,但我不知道它是否随着消息的增长而保持良好的性能。

该应用程序在iOS上运行,我将使用sqlite数据库。任何意见,将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:2)

通常,拥有多个具有相同结构的表是数据库不正确的标志之一normalized

如果您有单独的表,则无法轻松编写必须查看多个人/组的查询,例如"我最近经常与谁聊聊?"

您的数据库将以任何一种方式增长。 通过不必读取所有数据就可以获得高效的查询,这可以通过正确编写查询并创建适当的索引来完成 请参阅Query PlanningThe SQLite Query PlannerThe Next Generation Query Planner