数据库高手请进!(100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库SQL SERVER或SYBASE,有个表每天要插入10万条记录,并且要数据要
保持一年,此表还要做统计查询,在设计时如何避免效率大幅度下降这一老
大难问题?
另:如分成几个表,又有编程烦琐的问题,有何秒法?
请高手尽情发挥.
 
将表按月份组织,根据当前日期所在月份:
A01表示1月,A02表示2月...,
在运行时为当前月份的库创建一个视图,名为A
如果在一月,则A代表A01,如此类推.

统计查询时,可建一个视图(所有A01..A12表的UNION)进行.
 
啊?! 10万条/天?!$%@%#%**)()^&*^%$%$%^#
SQLSERVER/SYBASE好象支撑起来很困难, 建议用ORACLE/INFORMIX, DB2也还
行.
最好把统计字段植入表中, 如年.月.日单独存放, 以免查询月时需要DATEPART
转换, 很费时间, 不过会数据库大很多. 另外, 查询时, 不需要的字段不要
取出, 否则数据太大了.
 
建立合适的多个关键字,采用关系数据库,合理的编程。
 
10万条/天!!!!!!!!@faint.
1.用多表存储,每个月的信息用一张表保存
2。当天操作的数据放在一张表中,然后每天将操作
的数据存储到每月的记录中
3。建立一些中间表,存储提取出来的信息
4。对于统计查询,可以利用数据仓库的技术来实现。
GOOD LUCK
 
xixi:
silly的办法是我想出来的.

 
login sa
********
sp_who
kill shangrila
logout
 
无聊!
~~~
#shutdown now
 
volan的方案本人也考虑过,不过要根据月份的变化进行数据的插入,如用视图,
每月不断修改其视图所对应的表(如A可以对应A01,A02...A12),仍比较烦琐.

 
能再详细一点吗?
如插入的记录的什么样的数据?
如数据有什么要求?
插入记录的时间分布?
什么时间统计?
对实时性要求如何?
对容错性的要求?
系统资源怎么样?
用Sybase应该是可以的。
 
建两个相同的表,表1是每日的数据(主键自动加一),表2是每年的数据。
在表1上写触发器,用触发器同步表2。表1每天清空,查询用表2。
我做超市的软件就是这么实现的,比较爽!
 
详细描述如下:
要求记录5120个电表在正点的读数,字段至少有:表ID(small int),读数(int),
日期时间.要求统计指定的表每天在正点的详细读数,指定的某些表每天的消耗
值(隔天读数之差),以及指定的某些表在任意两个时刻的消耗值(如1999年9月5
日的读数-1999年5月5日的读数).统计耗时要在几秒左右.HP 服务器(PIII/500),
是NT+SQL SERVER.
delphiwolf 的方案看来不错,能否说详细点.
谢谢各位!

 
DELPHIWOLF的方案确实不错, 不过应改进一下:
1. 建3个库: 1)日库, 2)统计库, 3)当天库
2. 3上建TRIGGER, 使2同步更新, 2内是所有报表使用的数据.
3. 建SCHEDULE, 每日0:00把3添加到1中并清除3.
这样, 在统计时只使用2, 速度当然快, 同时可以使用1做详细记录, 3实际上
是临时表. 提高速度.

 
多人接受答案了。
 
后退
顶部