当前位置: 代码迷 >> Sql Server >> 关于取数据记要上线的控制
  详细解决方案

关于取数据记要上线的控制

热度:77   发布时间:2016-04-24 10:20:14.0
关于取数据记录上线的控制
每天向表A(数据每天更新,取数范围为前一天新增的数据)中取数据,如果表中数据大于40000,则取40000条,剩下的第二天再取;
方法1:表中取过的数据打标记,第二天从未打标记的记录中取数;
方法2:将第一天的所有值都放入中间表,然后取40000条,删除已取记录,超过的部分,第二天直接从中间表再取。
哪种方式比较合理,是否还有更好的方式?
求指导!!!
------解决方案--------------------
既然是 新增数据,没有其它操作,为何不加一个自增的标示列,根据索引,与插入时间来去数据呢。
------解决方案--------------------
推荐使用第二种方式,但是要考虑特殊情况下。插入失败,但是中间表又删除成功了的情况。数据处理时使用事务控制
------解决方案--------------------
但是这样就混乱了,假设第一天插入5万,你只取4万,那么剩下1万,第二天插入5万,你取的时候就要前一天取1万第二天取3万,还可能出现几天才凑够4万的情况,可以考虑加个标识列,标识“是否已取”
  相关解决方案