-1

プレーン整数の代わりにハッシュを代理キーとして使用するアプリケーションがたくさんあります。このようなデザインの理由はわかりません。

ほとんどのUUID実装はハッシュされたタイムスタンプであるとすると、なぜ多くのデータベース設計者がアプリケーション全体の代理キーにそれらを選択するのでしょうか。

4

3 に答える 3

4

ハッシュを使用すると、結合などで、潜在的に大きなデータ値をより効率的に比較できます。つまり、HASH(LargeObjectA)=HASH(LargeObjectB) の比較です。たとえば、ハッシュ値が文書管理システムのテーブル内の文書である場合、文書よりもハッシュを比較する方が効率的です。

ほとんどの DBMS では、キーのストレージ サイズに制限があるため、ハッシュは、より大きなキーを実装するための 1 つの代替回避策になる場合があります。

ハッシュは、データ セット全体に均等に分散された論理パーティションにデータを分割することで、ストレージを最適化するためにも使用できます。

于 2010-11-16T14:28:30.483 に答える
2

アプリケーションのデータ バックエンドが複数の分散データベースから作成されている場合、増分された整数 ID を使用すると、値が重複する可能性があります。UUID は、アプリケーション内だけでなく、アプリケーション外でも一意であることが保証されています (これは、外部データと結合するときに役立つ場合があります)。

システム内の異なるデータベースに異なる ID シードを使用すると、整数の一意性の問題が解決されることは事実ですが、そのようなアプローチを管理することはより困難になります。

于 2010-11-16T13:02:38.843 に答える
1

サーバー間の一意性? そのような状況では、単純な整数を使用してもうまくいきません。

于 2010-11-16T13:01:56.160 に答える