xuxiaoyinliu
仰望星空_Star
采纳率28.8%
2016-03-15 00:31 阅读 4.6k

Oracle如何实现增量查询?

第一次遇到这个问题,现在有个需求,每隔5秒要统计从今天零点到现在的数据,要查询的表很大,除第一次查询外不能再从零点开始,只能以上一次查询的时间为起点,请问这个该怎么做?请大家提供下思路或方法,谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    willkinson willkinson 2016-03-15 01:26

    表上总归会有个时间戳的字段咯?在这个字段上加上索引,用这个字段来查询,注意下查询的时候不要用函数,不然触发不了索引,如果数据量实在太大,可以考虑把已经用不到的历史数据备份到别的库或者表中,再不行就搞分区表吧

    点赞 1 评论 复制链接分享
  • qq_32224861 June君 2016-03-15 01:40

    我觉得可以把数据和最后的查询时间放到缓存里,然后每次从缓存里取数据再加上通过时间查询的新的数据。可能不是正确的仅供擦考

    点赞 1 评论 复制链接分享
  • cuiweicai 钴今之道 2016-03-15 02:02

    加个标识字段,在标识字段上给个索引,查过的给标识下就好了啊

    点赞 1 评论 复制链接分享
  • dandanwang 塞外剑仙 2016-03-16 07:54

    写个存储过程,新建一个表管理最新时间;算法如下:检查该表存在最大值,如果没有就写入,若有就更新该记录,第二次查询的时候从该表拿到时间查询即可,同时查询完了就把最大时间更新如该表。
    这样就可以实现数据的增量查询了。

    点赞 评论 复制链接分享

相关推荐