CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

请教哪种数据库设计比较有效率?

楼主nbchp(生命过客)2006-05-01 18:11:45 在 MS-SQL Server / 基础类 提问

实现功能:  
          当下属单位内的计算机访问某条信息的时候,根据该下属单位的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

相关问题

关键词

得分解答快速导航

  • 帖主:nbchp
  • zlp321002
  • zjcxc
  • simonhehe

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo