データ テーブルの主キーとして、一意の識別子と long int の 2 つのデータ型を何度も見てきました。どちらの方がよいですか?ご意見をお聞かせください。両者の長所と短所。
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 timeGUID を作成する完全な仕組みはわかりませんが、ネットワーク カードの 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 に答える