请教哪种数据库设计比较有效率?
实现功能:
当下属单位内的计算机访问某条信息的时候,根据该下属单位的IP地址段做一个访问计数,并显示在该信息的主要内容下面的访问统计中。这个访问统计表应该如何设计比较合理(当信息量比较多的时候,如果达到几万条)
第一种设计结构:
数据表结构:
newsid,int (表示新闻的ID)
school1,int (表示该学校访问的次数,每访问一次+1)
school2,int
school3,int
……
……
school50,int
~~~~~~~~~~~~~~~~~~~~
第二种设计结构:
数据表结构:
newsid,int (表示新闻的ID)
schoolid,int (用学校ID来表示学校)
count,int (该学校访问的次数)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
问题点数:100、回复次数:5Top
1 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-05-01 18:19:50 得分 30
--第二中方式.灵活.便于以后扩充....Top
2 楼nbchp(生命过客)回复于 2006-05-01 18:36:27 得分 0
楼上的兄弟,第二种方式对我们来说维护和使用都方便了,但我们关心的主要还是效率问题。到底哪种结构,效率比较高?Top
3 楼zjcxc(邹建)回复于 2006-05-01 20:34:17 得分 40
效率上看, 一般也是第二种最优.
而且第1种能够表示的学校数有限, 一条记录最长为8060字节. int型列长度为4字节
(8060-4)/4=2014, 也就是按第1种方案, 只能处理2014个学校的数据.
而且, 当你在处理的时候, 一般你还会显示一些学校相关的信息.
第1种方式如何与学校的信息表关联呢? 可能你查询100个学校的信息的话, 你还得在相关表中查询100次.
而第二种方案只需要join一次.
当然, 具体的性能分析还是得跟你实际的信息处理需求结合起来分析. 上面只是假设了一些常规的数据分析需求,Top
4 楼ymfhcn(这痞子真帅)回复于 2006-05-01 21:54:31 得分 0
牛Top
5 楼simonhehe(流氓会武术,谁也挡不住)回复于 2006-05-01 22:32:10 得分 30
第二种
Top




