这样的数据库应该设计多个表还是在一个表?

zhangfeigreat 2009-07-19 02:30:56
我设计一个数据库,应该保存不同站点每隔1分钟传送过来的各种数据,例如降水量,温度等等
经常需要对某个站点进行数据查询,这样的站点数目最大可以达到200多个

有下面两种设计方案:
(1)设计成一个一个表:其ID为BigInt类型,组成规则为站点号+传送数据时的具体时间
(2)一个站点设计成一个表格,表的名称为站点号,其ID组成规则为:传送数据时的具体时间

上述两种方案哪种比较好一些呢,效率更高一些呢?

请指教
...全文
109 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sj6071 2009-07-21
  • 打赏
  • 举报
回复
up关注
Donniezhu 2009-07-21
  • 打赏
  • 举报
回复
看你用的是什么数据库,如果是Oracle用表中的分区也可以,这样以后的查询相对于简单。
如果用的是SQl server 最好还是用多个表,这样数据分隔开,避免数据冗余,虽然插叙的语句和更新的语句会长一些,复杂一些,但是查询速度会比单个表快的多。
zwzw911 2009-07-21
  • 打赏
  • 举报
回复
3个表,
第一个表为站点表,专门存储站点信息(站点ID,站点名)
第二个表为数据类型表,专门存储要收集的数据类型(数据类型ID,数据类型名)
第三个表为收集的数据,专门储存数据(站点ID,数据类型ID,实际数据)
用一个表的话,扩充性差,查询语句也难写
zhangfeigreat 2009-07-21
  • 打赏
  • 举报
回复
我用的是SQL Server 2005
hui_hui_2007 2009-07-20
  • 打赏
  • 举报
回复
一个表,第二种思路不可取,以后增加新站点,你就要新建一个表吗?不现实。
再说程序也不好维护
ziping 2009-07-20
  • 打赏
  • 举报
回复
一个表
SQL77 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happyflystone 的回复:]
一个表 ,用分区表
[/Quote]
分区表没用过,呵呵,支持石头哥的
zzz1975 2009-07-19
  • 打赏
  • 举报
回复
支持专家

只要所需要字段

数据没有超过千万级就差别不大
ACMAIN_CHM 2009-07-19
  • 打赏
  • 举报
回复
一个表。

200 个站 * 24*60 = 1.44 M 记录每天。 应该不是问题。
zhangfeigreat 2009-07-19
  • 打赏
  • 举报
回复
弄成一个表的话,查询的效率随着数量的累加,其效率会很低吧
zhangfeigreat 2009-07-19
  • 打赏
  • 举报
回复
分区表还没有搞过?
怎么弄啊
feixianxxx 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happyflystone 的回复:]
一个表 ,用分区表
[/Quote]
听石头的。。。没错
-狙击手- 2009-07-19
  • 打赏
  • 举报
回复
一个表 ,用分区表
feixianxxx 2009-07-19
  • 打赏
  • 举报
回复
一个。。
分成多个 数量可不少 照你的思路

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧