关于论坛数据库的设计(分表分库等-转)
关于论坛数据库的设计 文章分类:数据库 一个简单的论坛系统 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