关于时间的问题,高分寻求解决方案!!!!

chx007 2002-03-12 10:19:09
现有一个雨量实时采集数据库,关键表结构如下:

字段中文名 字段英名 类型 是否主键 索引序号

测站编号 ID CHAR(8) 主键 2
采集时间 TIME DATETIME 主键 1
降雨量 DTRN NUMERIC(5,1)

每个测站平均每5分钟有一条新记录采集入库,一年有105120条记录,因为查询的需要从未将历史数据进行删除,通常所作的查询如下,统计某月或者某旬或者某天的雨量平均值,或者是在某个时间间隔内(可以精确到分)的统计每月或者每旬或者每天的雨量平均值,或者是某个确定时间的雨量查询。

现在出现的问题是查询非常慢,关键问题出在时间字段上,目前所采用的索引相当于没有索引,如果能对时间进行分段索引,比如年月日和时分秒分开,可能就会提高一些性能,但是缺点是不能进行时间比较。

各位高手有没有更好的解决方案?
...全文
44 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tommy Chang 2002-03-18
  • 打赏
  • 举报
回复
上面只是一个建议,具体粒度可以再拆啊

:)
zcflion 2002-03-15
  • 打赏
  • 举报
回复
可是添加也要时间的啊!!

而且关注这种数据的时间白天和晚上都有可能啊!!
signboy 2002-03-15
  • 打赏
  • 举报
回复
同意cxgtommy(Tommy) :)
做一个存储过程,每天半夜执行,吧当天的数据汇总成一行,一后的分析查询基于这张表就行了,
问题是,想知道白天的雨大还是晚上的大的问题,就有点麻烦了
Tommy Chang 2002-03-13
  • 打赏
  • 举报
回复
拜托,这种地方的数据基本只有添加,修改很少,可以忽略更新的效率。
说白了,就简单的办法就是提前将雨量提前按天、月、旬汇总,保存结果在数据库里面。

:)
BrentIvan 2002-03-12
  • 打赏
  • 举报
回复
以SQLServer OLAP为例子:
建立时间维度(Dimesion),分三个级别(Level):年、月、旬, 雨量作为量度(Measure)
chx007 2002-03-12
  • 打赏
  • 举报
回复
这样的问题 没人感兴趣吗?
superjj2002 2002-03-12
  • 打赏
  • 举报
回复
所谓频繁主要是日数据,可以建一张当日表,每日做追加,至于日以上的数据,就不是很频繁了
zcflion 2002-03-12
  • 打赏
  • 举报
回复
高手哪去了!
zcflion 2002-03-12
  • 打赏
  • 举报
回复
楼上的大侠:要是他的数据库的更新很频繁的话,这种做法还可以吗???
superjj2002 2002-03-12
  • 打赏
  • 举报
回复
借鉴olap是用空间换取时间的做法,因为你主要是在时间的各个粒度上查询,作olap的意义不大,但是可以定期对数据进行聚集,生成粒度比较小的年份,月份等统计表,根据不同的查询,查询不同的表,事实上也是以空间来换时间,因为做实际意义上的olap,对你的需求来说,没有太多的意义。
zcflion 2002-03-12
  • 打赏
  • 举报
回复
数据库下的数据是以页存在的,并不是直接对一条记录进行操作的!所以在表上建立索引的时候对表进行数据修改(INSERT、UPDATE 和 DELETE 语句)的过程中会出现表碎片现象。由于这些修改通常并不在表的行中进行平均分布,所以每页的填满状态会随时间而改变。对于扫描部分或全部表的查询,这些表碎片会导致额外的页读取,这将防碍数据的并行扫描。这样反而会减慢速度。所以也不能拆得太散了,要看你的应用,是否有必要查得那么细!!
zcflion 2002-03-12
  • 打赏
  • 举报
回复
我想查询的速度应该不会差很多,因为当你新增一条记录的时候,数据库一样也要按你的索引或主键等对新增的数据进行处理,这样都不会很慢吧!慢的问题应该是在数据结果的显示上吧!
chx007 2002-03-12
  • 打赏
  • 举报
回复
我从未接触过联机分析处理和数据挖掘,两位高手能否具体一点
Tommy Chang 2002-03-12
  • 打赏
  • 举报
回复
将年月日分开后,做成雪花型结构,
将时间存成按日期的整数
提前按月和旬分组做好聚合表,
这是比较常见的建库方法。建cube可在这基础之上。

:)

7,394

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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