关于论坛数据库的设计(分表分库等-转)

关于论坛数据库的设计文章分类:数据库一个简单的论坛系统1:包含下列信息: 2:每天论坛访问量300万左右,更新帖子10万左右。请给出数据库表结构设计,并结合范式简要说明设计思路。一. 发帖主题和回复信息存放在一张表,并在这个表中增加user_name字段 对数据库的操作而言,检索数据的性能基本不会对数据造成很大的影响(精确查找的情况下),而对表与表之间的连接却会产生巨大
摘要由CSDN通过智能技术生成

关于论坛数据库的设计

文章分类:数据库
一个简单的论坛系统

1:包含下列信息:

2:每天论坛访问量300万左右,更新帖子10万左右。

请给出数据库表结构设计,并结合范式简要说明设计思路。

一. 发帖主题和回复信息存放在一张表,并在这个表中增加user_name字段
对数据库的操作而言,检索数据的性能基本不会对数据造成很大的影响(精确查找的情况下),而对表与表之间的连接却会产生巨大的影响, 特别在有巨量数据的表之间;因此对问题的定位基本可以确定:在显示和检索数据时,尽量减少数据库的连接以及表与表之间的连接;
引用
1: user:用户基本信息表
字段有:user_id,user_name,email,homepage,tel,add...

2: forum_item:主题和回复混合表
字段有:id,parent_id,user_id,user_name,title,content,....

parent_id=0或者null表示是主题,否则=n表示是id=n那条帖子的回复
UserName字段是冗余的,因此在用户修改UserName的时候就会产生同步数据的问题,这个需要程序来进行弥补

二. 主题表和主题回复分开保存
引用
1: user:用户基本信息表
字段有:user_id,user_name,email,homepage,tel,add...

2: forum_topic:主题表
字段有:id,user_id,title,content,....

3: forum_topic_back:主题回复表
字段有:id,topic_id,user_id,title,content,....

三. 主题表的内容单独设计成一个表
引用
1: user:用户基本信息表
字段有:user_id,user_name,email,homepage,tel,add...

2: forum_topic:主题表
字段有:id,user_id,title,....

3: forum_topic_content:主题内容表
字段有:id,topic_id,content

4: forum_topic_back:主题回复表
字段有:id,topic_id,user_id,title,content,....

四.用户信息分2个表保存,并对相关表进行分表处理
引用
1: 简单用户表 tb_user:
id , username

2: 用户详细信息表 tb_userinfo
id,userid , email , homepage , phone , address ...

3: 论坛主题表 tb_bbs
id , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime

4: 论坛内容标 tb_bbs_c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值