在Jive中,具体的所有主题和贴子内容都储存在JiveMessage表中
JiveThread中没有存储更具体的信息,只不过简单的各个贴之间的父子关系等等。
在实际应用中会产生一个问题,基本上所有的操作都是基于JiveMessage表的,大量用户存在时,会对JiveMessage表产生过重负担。
因此,我在改进Jive时将主题表、贴子表完全分开。
JiveThread表完全存储主题信息,JiveMessage表完全存储具体贴子信息,这样就分流了操作负担,用户在打开主题显示页面时,只是操作JiveThread表,真正打开贴子浏览或者发贴子时才操作JiveMessage表,从数据方面解决部分JiveMessage表压力过重问题。
这样的数据库设计,在基于程序编写时我遇到过问题:原来所有的具体信息都在JiveMessage表时,进行分页等等的迭代时只是在JiveMessage表取出messageID就完成迭代,很容易。但在主题表和贴子表分离后,进行迭代时,主题的ID是从JiveThread表中取出,贴子ID又是从JiveMessage表取出,这就在实际编写中产生一些问题,要区分ID号,并决定从哪一表中取出具体数据,面对这个问题,有什么好的解决方法呢?