查询结果出现差异时,先不要逐条猜原因,而要从最终要交付的结果倒推:这份结果要用来做什么决策,哪些字段必须一致,差异落在哪个字段上,再决定是否值得投入人力。时间和人手有限时,优先处理会改变结论的差异,忽略只影响展示、不影响判断的差异。
同一组查询条件跑出两份或多次结果,差异可能出现在数量、条目、排序、字段值或时间范围上。不同字段对交付结果的影响完全不同。比如你要交付一份“需要人工跟进的名单”,那么名单条目和联系字段的差异必须查清;而排序先后、展示条数的小幅波动,可能不影响最终名单。反过来,如果交付的是“某类结果的规模判断”,数量差异就是核心,条目细节反而次要。
可以按下面的顺序倒推:
差异不一定都是错误。常见情况有三类,处理方式不同:
判断顺序建议是:先统一查询条件,再看时间点,最后才看呈现。因为前两类会改变结果集合,第三类通常只改变你看结果的顺序。
人手有限时,不要重跑全部查询。可以固定一个变量、改变一个变量来缩小范围。例如,假设你两次查询同一批数据,第一次得到 120 条,第二次得到 96 条,可以先做三步:
这里要区分“可能原因”和“已经定位的原因”。数量减少可能来自数据更新、条件变化或结果去重,但在没有逐项核对前,不能断言是其中某一个。核查的目标是排除,而不是一次就下结论。
差异核查也要有验收标准,否则会无限投入。可以按下面的方式安排:
如果差异无法在限定时间内解释,可以先交付已确认一致的部分,把差异项单独列出并标注待核查,而不是让整份结果卡住。
不是所有差异都值得处理。当差异只出现在排序、展示条数或非必需字段,且不影响最终动作时,可以跳过。判断条件是:这份差异是否会让接收方做出不同决定。如果不会,就记录后继续。如果会,就回到必需字段,按上面的最小核查动作处理。
下一步,把你当前查询结果中真正影响交付的字段列出来,只对这些字段做一次条件对照和时间点确认,再决定是否需要继续深挖。