如果由我们来设计主题表和回帖表,通常的做法是如下。
这样在获取主题列表时,直接使用分页算法提取topics;查看某一帖子时,还需要对topics,posts进行jion链接。
此种设计的缺陷为:
1. topics表存储content的内容,其体积将会很大,对大体积表进行分页,性能很慢。
2. 显示posts内容时将进行join操作,损耗性能
而discuz的做法是进行如下设计。
将topics里的content拆分到posts中去,同时topics的主题帖也作为回帖放置到posts里面,这样就解决了上面我们提出的两个问题。这是典型的违反数据库设计范式以换取更好性能的示例。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!