データ テーブルの主キーとして、一意の識別子と 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 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 に答える