1

データ テーブルの主キーとして、一意の識別子と long int の 2 つのデータ型を何度も見てきました。どちらの方がよいですか?ご意見をお聞かせください。両者の長所と短所。

4

1 に答える 1

1
if you don't have a specific reason to use GUIDs, use INTs.

GUID の利点:

  • 一意の識別子の方が優れている理由guaranteed to always return a unique value across space and time

  • GUID を作成する完全な仕組みはわかりませんが、ネットワーク カードの MAC アドレスとシステム時間に関係があることは覚えているようです。

  • consolidating records from multiple SQL Servers into one tableこれは、データ ウェアハウジングのような場合に便利です。

    GUID は、行が複数の SQL Server に分散している場合に行を追跡するために、SQL Server レプリケーションでも頻繁に使用されます。

    DISADVANTAGEOUS OF GUID:

  • uniqueidentifier 値が生成された順序を判別する方法はありません。キー値を連続的にインクリメントすることに依存する既存のアプリケーションには適していません。

  • GUID をキー値として使用することの主な欠点は、GUID が大きいことです。GUID に基づいて構築されたインデックスは、IDENTITY 列に基づいて構築されたインデックスよりも大きく、遅くなります。

  • GUID はランダム性が高いため、クラスター化されたキーとして問題があります。


于 2012-11-20T04:48:07.757 に答える