Oracle如何实现增量查询?

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

4个回答

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

xuxiaoyinliu
仰望星空_Star 谢谢
4 年多之前 回复

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

xuxiaoyinliu
仰望星空_Star 谢谢你
4 年多之前 回复

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

xuxiaoyinliu
仰望星空_Star 谢谢
4 年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐