先看导出文件的最后一页是否与工具界面显示的总条数一致,再用时间戳和唯一标识做交叉核对。如果两处对不上,优先怀疑分页游标在导出中途失效,而不是数据本身缺失。
自动导出遗漏分页通常来自两类原因,检查方式完全不同。
区分方法很简单:把导出结果按排序字段排序,看缺失区间是“中段成块”还是“尾部截断”。中段成块指向游标问题,尾部截断指向总量问题。这个判断直接决定下一步是改排序键还是分批导出。
不要只看文件行数,行数相同也可能有重复和缺失互相抵消。建议同时核对以下信号。
假设一次导出得到 5000 行,去重后主键为 4980 个,同时排序编号在 2100 到 2160 之间整体缺失。可以推断:约 20 条重复集中在某段,另有约 60 条编号被跳过。接下来应针对 2100–2160 这段单独重导,而不是全量重跑。
面对不完整的导出,有三种处理方式,适用条件不同。
选择顺序建议是:先判断缺失能否定位到具体区间。能定位且区间小,选保留并标注;缺失成规律性重复,选改写逻辑;缺失无法定位或每次导出结果都不一样,选退出自动导出。
如果决定改写,不要一次性全量重跑。先做一次小范围对照:选一个已知完整的时间窗口,用新逻辑导出,与旧逻辑结果逐条比对。
具体动作:把新逻辑的排序键设为“创建时间 + 主键”的组合,确保任意两条记录不会因排序值相同而互相覆盖。导出后检查去重数量是否等于文件行数,且排序编号无跳跃。如果这一窗口通过,再逐步扩大范围。这个动作的结果决定了能否信任新逻辑处理全量数据;若小窗口仍有缺失,说明问题不在排序键,需要回到总量截断方向排查。
每次自动导出后,按固定顺序执行:去重计数、排序连续性检查、首尾比对、记录缺失区间。把缺失区间写入导出日志,而不是只记“成功”或“失败”。这样下次出现同类问题时,可以直接对比两次的缺失区间是否重合。重合说明是结构性问题,需要改写逻辑;不重合说明可能是偶发的接口波动,重试一次再判断。不要把单次抓取量归零或某页为空直接当作处理正确的证据,空页也可能是接口限流或游标越界的表现,需要结合前三个信号一起看。