首页 新闻 会员 周边 捐助

关于数据库访问类数据设计

0
[已关闭问题]

比如说一般的新闻系统,每一条新闻都有相应的点击率,或者其他一些评价的数据,如顶的数据,踩的数据等,这些数据都是需要频繁的更新的,不知道大家设计这些是怎么来设计的。是把这些数据跟新闻的常用字段如标题,内容等都在同一个数据表中呢,还是另外创建一个表进行关联,专门用来保存相应的数据。

我现在有一个系统就是分开用二个表进行存储的,到时候也是想为了提高性能,还特意把类似于这些的统计表放在另外一个库中,这下问题来了,当我要针对这些数据进行一些排序查询时,因为不是同一个数据库中,导致关联查询很困难,只能先在一个表中根据需要排序查询,再从另外一个表中读取相应的显示数据,感觉这样一来,性能反而更差了。

不知道以上的表述,大家看不看得清楚。希望大家都谈谈自己实际开发中是怎么来设计的?

问题补充: 其实我就是想把频道更新的字段单独搞成一个表,这样子会不会好一些?我也一直在犹淤,不知道这样子做会不会得不偿失。网上想搜一些相关资料,也不知道从何搜索起
李.net的主页 李.net | 小虾三级 | 园豆:730
提问于:2009-07-07 15:20
< >
分享
其他回答(1)
0

你要联合查询排序的话,用视图就好,这样性能、灵活度、完整性都可以兼顾了。

不过我觉得把访问量、支持数等数据独立为一个表并不好

首先它与文章表是1对1关系,一般来说1对1关系就是没有必要划分的表

再者你在浏览文章时肯定要显示这些数据,那么你就需要用一个文章ID分别从两个表取回相关联数据,这样对性能肯定是有损耗吧。

而且拆表对更新的优化应该也微乎其微。

所以我觉得还是就放在一个表里比较好。

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-07-07 16:04
0

我的意见是:

1.分表,将顶和踩的数据放在单独的表中,使用外键连接

2.避免表连接查询,即查询新闻主题的时候并不加载顶和踩的数据

3.延迟加载,如用AJAX在显示主题之后再次加载顶和踩的数据并显示,期间用GIF动画提示用户稍等

Gray Zhang | 园豆:17610 (专家六级) | 2009-07-08 11:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册