目前困扰我很多天的一个问题,不知道如何去做,怎么去做才是最好的;听听大佬们的意见和方案,再次谢过!
需求:在执行一个数据视图查询的时候,业务方的意思,在我第一次执行查询的结果和我今天最后一次执行查询的结果要保持一致。不希望有任何变化。
想法:看到这个需求的时候,怎么可能,这一天的每次查询的结果都一样呢,数据是在实时发生变化的;后来仔细想想还是可以实现的。
方案一:比如今天8点请求一次数据,将查询结果固化到新建数据库表中;下午17:00 点 进行请求是 就是请求固化这张表的数据,这张表的数据是每天的 17点 请求完成后,进行更新一次。
方案二:使用SQL 作业 存储过程,进行定点更新
上述方案只是想法 目前还没有具体的实施方案,请大神赐教,谢谢!!!
把查询的数据保存
需求:在执行一个数据视图查询的时候,业务方的意思,在我第一次执行查询的结果和我今天最后一次执行查询的结果要保持一致。不希望有任何变化。
想法:看到这个需求的时候,怎么可能,这一天的每次查询的结果都一样呢,数据是在实时发生变化的;后来仔细想想还是可以实现的。
这个是不准确的,或者说不够具体,比如说,早上查询是10,晚上查询应该是20,那么出10,后果谁负责。
为啥会早上查出10,晚上查出20,这些需要具体。
需要细化调研。根据这个文字得出的或者做出来的东西,呵呵。
为什么会有这样的需求呢?
如果一定要实现这样的需求,开将数据存起来。
要么把查询的时间点保存下来,要么把查询的数据保存下来
查询时判断查询结果表中有没有数据,如果有,看看数据日期是不是当前日期,如果是返回结果。如果不是,删除数据,执行查询语句,保存并返回结果。
查询结果表中如果有无数据,则执行查询语句,保存并返回结果。
每天确定不再查询数据的时间删除查询结果表中的数据,比如23:59分。
程序中作数据缓存?
解决方案:使用数据库计划任务,进行定时将查询视图结果保存到临时表中,进行固化数据,定点执行。这样就可以完美解决了。