| 拼接 | 属性按序 concat,空值占位 |
|---|---|
| 算法 | md5 或 sha 系列 |
| 要点 | 空值处理与顺序全局统一 |
hash 生成
hash 生成
SELECT id,
md5(concat_ws('|', coalesce(name,'#'), coalesce(phone,'#'), coalesce(tier,'#'))) AS hashdiff
FROM stg_user;拼接顺序或空值占位变更会导致全表哈希漂移,改动必须全链路同步。
把需跟踪的属性按固定顺序拼接后取哈希作为 hashdiff 列,比较新旧哈希即可判断是否变更,免去逐列比较。
| 拼接 | 属性按序 concat,空值占位 |
|---|---|
| 算法 | md5 或 sha 系列 |
| 要点 | 空值处理与顺序全局统一 |
SELECT id,
md5(concat_ws('|', coalesce(name,'#'), coalesce(phone,'#'), coalesce(tier,'#'))) AS hashdiff
FROM stg_user;