先别重跑整个导出。把上次导出的文件、当时的筛选条件和分页参数放在一起,按“页数—记录数—边界记录”三层对照,通常十几分钟就能判断是漏页、漏记录,还是导出把空页吞掉了。检查结论决定下一步:补导缺失页、改分页策略,还是保留旧结果只做人工补录。
你手上需要三样东西:上一轮导出的原始文件(不要用二次整理过的表)、导出时使用的筛选条件、以及工具显示或日志里记录的总页数。如果总页数没有留存,就用同一条件做一次只读的计数查询,把“符合条件的总条数”当作基准。
关键动作是先确认导出是否分页。很多博客外链工具的自动导出会按固定条数切页,页大小可能是 50、100 或 200,具体数值需要以你所用工具的实际设置为准。拿到页大小后,用总条数除以页大小:能整除,总页数就是商;不能整除,总页数向上取整。这个数字就是后面核对的标尺。
把导出文件按记录顺序编号,检查编号是否连续。连续编号里出现跳段,说明中间有整页没写进来;编号连续但末尾条数明显少于“总条数减已导条数”,说明漏的是最后一页或最后几页。
如果编号本身不是工具生成的,而是你导出后自己加的,那它只能证明文件内部连续,不能证明相对源数据完整。这种情况下要改用记录的唯一标识(如外链来源 URL 加目标页 URL)去和计数结果比对。
导出条数少于预期,不一定是分页遗漏。至少有三种合理解释,处理方式完全不同。
判断方法很简单:用同一条件、同一时间点连续做两次计数。两次结果一致,说明是分页或去重问题;两次结果不一致,先解决数据变动,再谈完整性。
假设某次导出总条数为 1043,页大小 100,那么应有 11 页,最后一页只有 43 条。如果导出文件只有 10 页、1000 条,缺的就是第 11 页。这时不要从第一页重跑,直接指定从第 11 页开始补导,然后检查补导结果是否为 43 条。
补导条数对上了,说明只是末页被丢弃,把补导文件按顺序追加即可。补导条数仍然不足 43,说明末页内部还有截断,需要检查该页是否有单条记录过长、字段缺失或编码异常导致写入中断。这一步的结果直接决定下一步:前者合并文件就能交付,后者必须先修数据再合并,否则合并后仍会在同一位置断掉。
如果工具不支持按页补导,只能整段重跑,那就先把页大小调大或调小再试一次。页大小变化后总页数也会变,用新的页数重新算一遍基准,不要拿旧页数去套新结果。
面向旧内容、旧系统或旧合作关系的导出,目标不是“一条不差”,而是“该留的都在”。检查完整性之后,还要做一次价值判断:仍然有效的外链来源保留并补全字段;已经失效或合作关系已退出的记录,即使补导回来也应标记为待清理,而不是直接并入主表。
可执行的做法是给每条记录加一个状态列,取值如保留、待确认、清理。补导完成后,只把“保留”和“待确认”的记录并入主表,“清理”的记录单独存放。这样即使分页检查发现少量缺口,也不会因为强行补齐而把过期数据重新引入。
最后留一个可复用的检查记录:本次使用的筛选条件、页大小、应有页数、实际页数、补导页号和补导条数。下次再遇到同类导出,直接拿这份记录对照,比重新推一遍规则快得多,也能避免把数据变动误判成分页遗漏。