名前と住所の情報が重複している非常に大きなテーブルがあります。このテーブルは、タスクを実行し、結果をテーブルに追加するプロセスをフィードします。名前と住所の情報にハッシュ キーを作成することで、このプロセスに入力される量を減らしたいと考えています。そうすれば、ハッシュ キーごとに 1 つのレコードをフィードできるので、入力を 75% 削減できます。そして、このキーが長期にわたって持続する必要があります。
ただし、このハッシュ キーは、結果テーブルを結合するキーとして機能するため、一意である必要があります。永続化された列としてハッシュ キーを作成し、それに一意の制約を与えることはできますが、衝突の可能性がごくわずかであることを懸念しています。2 つの異なる名前とアドレスの文字列が同じハッシュ出力を生成する可能性がある場合でも、両方に対して一意のキーが必要です。
これが起こる可能性は信じられないほどありそうにないとしても、もしそうなったとしても、私には計画がないことを知って嬉しくありません.
また、テーブルのサロゲート ID を使用し、名前とアドレスのグループ内のすべてのレコードに MIN(surrogateID) を割り当てることも検討しました。ただし、特定のグループの MIN(surrogateID) に対応するレコードが削除された場合、ID が変更されました。
個別の名前と住所のルックアップ テーブルを作成し、それぞれに単純な整数 ID を与えることができます。しかし、保管コストは避けたいと思います。
私が考慮していない可能性のある他のオプションはありますか?