先给结论:不要用“导出文件的行数”判断完整性,而要用“分页边界样本”反查。做法是先从自动导出结果里抽出每个分页交界处的记录,再回到工具界面或原始接口逐条核对;如果交界处缺失,说明导出逻辑在翻页时丢了数据,后续所有汇总都不可信。下面按你手里的一个导出文件,给出可执行的处理步骤。
自动导出遗漏分页通常有三种成因,检查方法不同:
区分方法很直接:如果缺失集中在某些页码区间,偏向游标或上限问题;如果记录数量对得上但字段为空,偏向格式问题。这一步决定你后面是改导出脚本,还是改字段映射。
假设你的导出文件有 500 条记录,工具界面显示每页 50 条,共 10 页。不要全量核对,只取第 1 页最后 3 条、第 2 页前 3 条,依次类推,组成一组边界样本。
这个动作的结果会直接影响下一步:如果是单点丢失,优先检查导出脚本的去重逻辑;如果是整段丢失,优先检查翻页参数是否在某一页之后停止递增。
边界样本法成立的前提是:工具界面和导出结果基于同一份数据快照。如果数据本身在持续更新,比如关键词查询工具返回的是实时结果,那么你翻页时看到的顺序可能已经和导出时不同,边界记录对不上不代表导出有错。
此时应改用时间戳或快照标识做锚点:先记录导出开始和结束的时间,再在界面按同一时间范围筛选,比较两边的记录数是否一致。如果工具不提供时间筛选,这套方法就不适用,需要换一种可复现的标识,比如固定查询条件后立即导出并立即核对。
另一个边界是:当分页总数超过工具允许的最大翻页深度时,后面几页本身就无法在界面访问。这种情况下你无法用界面反查,只能改用接口返回的总数或分页元数据来校验,具体字段需要以你所用工具的文档为准。
根据边界反查的结果,分三种情况处理:
每次修改导出逻辑后,至少复测一次边界样本。复测通过只能说明当前这批数据在检查范围内没有发现问题,不代表所有分页都完整;如果数据规模继续扩大,仍需要重新抽样。
假设某次导出共 10 页、每页 50 条,文件里有 480 条。边界反查发现第 4 页和第 5 页之间缺了 20 条,其余边界正常。此时可以推断:导出脚本在第 4 页之后的一次请求中提前终止,而不是全程丢数据。下一步应检查第 4 页请求的返回状态和游标值,而不是重写整个导出流程。这个例子中的数字仅用于说明比较方法,不代表任何工具的实际行为。