0 0

聊天记录的数据库表设计10

现在用户数量大致有10万人

所使用的数据库一定为mysql

想保存所有人聊天记录在在数据库中

即使一个人的聊天数据条数只有100条

那如果把所有记录保存在一张表中,那不就有1000万条记录

这样应该会导致查询效率极低吧?

有没有具体其的数据库设计方法或思想

比如多表?只是有这个想法,但是不懂其运作机制

大家说说想法,让小弟参考参考 谢谢了!

2009年7月14日 15:02

4个答案 按时间排序 按投票排序

0 0

采纳的答案

最佳解决方案:分表+备份
分表:根据用户的id,把不同用户的聊天信息放到对应的表中,以缓解数据量的压力。
备份:后台搞个过程,定期把老的数据备份的备份表里,同时把已备份的数据删除。
我们公司类似这样的功能就是这么做的。

还有一种方法,不如知道适不适合你的需求,那就是像qq一样,把该用户的聊天记录以文件的形式写在他本地.

2009年7月14日 15:53
0 0

我觉得每个用户创建一个表是不错的想法,问题是表会太多.单表记录太少.成本太高.10w个表做起统计来会很麻烦.
我的意思将用户分类:比如 号码10000-19999的作为一个号段记录在一个表里面. 这样表相对少点,记录量相对合理.
另外要做备份表,定期备份过期信息,比如前3个月的聊天记录等.

ps: 我不理解,聊天记录属于隐私来的,这个也要记录!??

2009年7月14日 15:47
0 0

按日期分表

2009年7月14日 15:32
0 0

好的设计是针对一个新注册的用户,建立一张对应此用户的聊天记录表

2009年7月14日 15:03

相关推荐

    消息聊天系统MySQL表设计-聊天系统-数据库设计.pdf

    在构建一个消息聊天系统时,数据库设计是至关重要的。在这个系统中,MySQL 通常用于存储持久化数据,而 Redis 被用作辅助缓存,处理高并发和实时性要求较高的场景。以下是对聊天系统数据库设计及Redis操作的详细解释...

    聊天软件数据库设计.pdf

    本文将详细介绍聊天软件数据库的设计方案,包括用户表、用户状态表、好友表、好友策略表、好友分组表、好友类型表、聊天记录表、消息类型表、国家表、省份表、城市表等多个表结构的设计。 用户表(User) 用户表...

    消息聊天系统MySQL表设计-消息系统数据库设计.pdf

    在构建一个消息聊天系统时,数据库的设计是至关重要的,因为它决定了系统的稳定性和效率。以下是根据提供的文件信息解析出的关键知识点: 1. **平台信息表**(`platform_info`): - 此表用于存储与消息平台交互的...

    聊天室连接数据库的设计

    数据库设计的关键在于合理地建立这些表之间的关系。例如,用户表与聊天室表可以通过用户ID建立多对多的关系,表示一个用户可以加入多个聊天室,一个聊天室也可以有多个用户。消息表则与用户表和聊天室表通过外键关联...

    基于JAVA基于局域网的聊天室系统的毕业设计,采用Swing技术,数据库使用MySQL,用于存储用户信息和聊天记录

    每个客户端线程负责与对应的客户端进行消息交换,并将聊天记录保存到数据库中。 客户端启动后,用户需要输入用户名和密码进行登陆验证。登陆成功后,客户端会显示当前在线用户列表和聊天界面。用户可以在聊天界面输入...

    聊天系统数据库设计和接口设计

    2. **聊天记录表**:包含消息ID、发送者ID、接收者ID、消息内容、发送时间、消息类型(文本、图片、语音等)等字段,用于记录用户间的对话。 3. **好友关系表**:保存用户ID之间的好友关系,可以采用一对多或多对多...

    聊天系统 数据库 详细文档

    2. 聊天记录表:用于存储聊天记录,包括发送者、接收者、聊天内容、发送时间等信息。 3. 群信息表:用于存储群的基本信息,如群名称、群描述、群成员等。 4. 用户关系表:用于存储用户之间的关系,如好友关系、群...

    web聊天,私聊,群聊。dwr实现。无数据库

    在这个项目中,我们关注的是如何使用DWR(Direct Web Remoting)框架来实现一个无需数据库支持的实时在线聊天应用,包括私聊和群聊功能。DWR是一种在浏览器和服务器之间进行实时通信的技术,它允许JavaScript与Java...

    Android聊天Demo实现(数据库+RecyclerView)

    此外,还要设计数据模型类,与数据库中的表结构相对应,便于数据的增删改查操作。 接着,我们讨论RecyclerView。RecyclerView是Android提供的一种高效的列表视图组件,它可以替代ListView,处理大量数据时性能更优...

    毕业设计 JSP 数据库 在线聊天室

    3. **数据库设计**:在线聊天室需要设计合理的数据库结构来存储用户信息、聊天室信息、聊天记录等。可能包括用户表(User)、聊天室表(ChatRoom)、聊天记录表(ChatMessage)等,每个表都有相应的字段如用户名...

    基于TCP和数据库的聊天程序设计说明书

    数据库设计是系统的关键,因为它需要有效地存储和检索大量实时数据。 【作品设计思路】 2.1. **系统设计思路** - 采用客户端-服务器架构,客户端发送消息到服务器,服务器处理并转发消息至目标客户端。 - 使用...

    Java聊天室毕业设计完整版+数据库

    4. **数据库交互**:数据库用于存储用户信息、聊天记录等持久化数据。这里可能使用了SQL(结构化查询语言),如MySQL或Oracle,通过JDBC(Java Database Connectivity)接口进行连接和操作。需要掌握CRUD(创建、...

    微信表情数据库表

    在IT行业中,数据库是存储和管理数据的核心工具,而微信表情数据库表则是一个特定的应用场景,主要用于处理和存储用户...在实际开发中,这样的数据库设计思路和操作方法可以借鉴到其他需要处理大量多媒体数据的项目中。

    数据库—聊天系统课程设计

    5. 消息搜索与历史记录:系统提供搜索功能,让用户查找特定对话或关键词,同时保存聊天记录供用户回溯。 综上所述,构建一个完整的聊天系统需要涵盖用户认证、社交关系管理以及实时消息交换等多个方面。理解并实现...

    openfire聊天记录插件(含有数据库脚本)

    "openfire聊天记录插件"就是为了解决这个问题而设计的。 这个插件的核心功能是存储和检索Openfire服务器上的聊天记录。它允许管理员或用户查看过去的对话,这对于客户服务、项目回顾或者解决争议都有极大的帮助。`...

    仿微信客服聊天界面(已实现聊天记录本地数据库保存)

    这个项目名为"仿微信客服聊天界面(已实现聊天记录本地数据库保存)",旨在为用户提供一个与微信类似的交互体验,并且已经实现了聊天记录在本地数据库的存储功能,确保了数据的安全性和可恢复性。此外,项目还包含了...

    聊天插件数据库

    2. 数据结构:数据库中的表可能包括用户表(存储用户名、密码、联系方式等)、聊天记录表(包含消息内容、发送时间、发送者和接收者信息)、群组表(记录群组成员、群组信息)等。 3. 数据安全:聊天插件数据库需要...

    即时聊天数据库设计

    5. **Messages(聊天记录表)** - M_ID(Int): 消息ID,主键,自增。 - M_PostMessages(Text): 消息内容。 - M_status(Bit): 接收状态。 - M_Time(Datetime): 发送时间,默认值。 - M_MessagesTypeID(Int): 消息...

    泛微Ecology8.0数据库表结构

    9. **协作模块**:这包括团队协作、即时通讯等,数据库表可能包含聊天记录、群组信息、协作任务等,需要设计高效的存储结构以支持大量的并发访问和检索。 10. **证照管理**:证照管理可能涉及到证书、证件的上传、...

    java web 聊天室系统数据库

    3. **聊天记录表(Messages)**:记录所有聊天对话,包括发送者(用户ID或访客ID)、接收者(可能为空,表示公共消息)、消息内容、发送时间等字段。 4. **管理员表(Admins)**:如果系统有管理员权限管理,需要...

Global site tag (gtag.js) - Google Analytics