当前位置: 代码迷 >> Oracle开发 >> Oracle 高水位线有关问题
  详细解决方案

Oracle 高水位线有关问题

热度:53   发布时间:2016-04-24 06:41:49.0
Oracle 高水位线问题
我项目中有一个数据表,记录每秒钟的工程上传感器发回来的实时数据,因为传感器数量大概200多个而且每个传感器每秒钟一条数据,所以这个表增长很快。我们大概存储15天左右的数据,15天之前的数据就会删除掉。

我们项目中的实时数据图表功能需要用到传感器的最新数据,查询的时候先查询出一个传感器的最新一条数据的发送时间,然后间隔几秒后查询大于最后时间的数据。这时就会出现高水位线的问题:我们简单的删除了15天前的数据,所以时间越久,查询速度就越慢。

看了一些网上的方法,都是要重建表,但是我们这个表不能随便重建,所以我想问的是:
1.针对我项目中的问题有没有什么合适的方法?
2.经理让我采用建立分区表的方法,一天的数据存储在一个表分区中,然后每天定期作业执行建立15天之后的分区和删除15天之前的分区,请问这种方法能解决高水位线的问题吗?

------解决方案--------------------
你经理没说错啊,就是重建表,并且新表按天分区,如果对数据清理的要求不严的话,也可以按周分区。
因为是用alter table drop partition的方式清除历史数据,所以就不存在高水位的问题。
重建表可以使用在线重定义的方式完成,可减少对正在运行的作业的影响。
------解决方案--------------------
这样命名 要用动态sql吧
  相关解决方案