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