小编Pad*_*ddy的帖子

聊天室的数据库设计.需要保存每个聊天

场景: 为各种用户设计聊天室,以便一次聊天.所有的聊天都需要保存.每当用户登录时,他应该能够看到之前的所有聊天记录.

以下是可用于存储聊天的表的一个示例:

CREATE TABLE chat 
(
  chat_id int NOT NULL auto_increment,
  posted_on datetime NOT NULL,
  userid int NOT NULL,
  message text NOT NULL,
  PRIMARY KEY (chat_id),
  FOREIGN KEY(userid) references users(userid) on update cascade on delete cascade
);
Run Code Online (Sandbox Code Playgroud)

为了以正确的顺序检索聊天,我需要在表中存储聊天的一些主键.所以,如果我使用上面的表来存储聊天,那么我就不能存储超过2147483647个聊天记录.显然,我可以使用一些像unsigned bigint这样具有巨大范围的数据类型,但它仍然会有一些限制.

但是,由于情景说要保存的聊天内容可以是无限的,那么我应该制作什么样的表格呢?我应该制作一些其他主键吗?

请帮我整理解决方案.我想知道谷歌或Facebook如何设法保存每个聊天.

mysql database-design

5
推荐指数
1
解决办法
2602
查看次数

标签 统计

database-design ×1

mysql ×1