行数与校验和(MySQL 侧示例)
行数与校验和(MySQL 侧示例)
SELECT COUNT(*) AS cnt,
BIT_XOR(CRC32(CONCAT_WS('#', order_id, CAST(amount AS CHAR), status))) AS sig
FROM dw.orders;| 行数 | 粗筛:快速发现明显缺失或翻倍 |
|---|---|
| 主键集合 | LEFT JOIN 找单侧缺失的主键 |
| 校验和 | 按主键分桶聚合,定位差异桶 |
| 抽样 | 全列全量成本高时,抽样 + 重点表全量组合 |
校验 SQL 两侧的排序、类型转换与 NULL 处理要一致,否则哈希结果天然不同。