私のSQLServer2012テーブルには次の列定義があります。
[GlobalId] UNIQUEIDENTIFIER DEFAULT (newid()) NULL,
これをUNIQUEIDENTIFIERとして定義することに利点はありますか、それとも文字列として定義するだけでよいでしょうか。私が尋ねる理由は、後でGUIDの完全な値を保存したくない場合があり、独自のIDを生成したい場合があるためです。
これでUNIQUEIDENTIFIERとして保存されましたが、定義を文字列に変更してもDEFAULTを機能させることはできますか?
GlobalId列に保存したものの例を次に示します。
6ffcac5e-88f1-4207-bbbe-0fc14265c01f
valexが提供するリンクで述べたように、
GUIDは一意の2進数です。世界中の他のコンピューターがそのGUID値の複製を生成することはありません。GUIDの主な用途は、多くのサイトに多数のコンピューターがあるネットワークで一意である必要がある識別子を割り当てることです。
したがって、関心はこの有名なユニークな事実です。
文字列値が必要な場合は、文字列値を使用しますが、新しい値の生成を可能にするSQL Serverの組み込み関数は、NEWIDとNEWSEQUENTIALIDであり、UNIQUEIDENTIFIERを提供します。
ID列にUNIQUEIDENTIFIERを使用する義務はありません。これは、データモデルとサーバーによって異なります。1つのデータベースサーバーのみがキーを生成する場合、シーケンスIDは問題なく、いくらか効率的です(そして非常に読みやすくなります)。 )GUIDより。複数のサーバーがキーを生成し、GUIDを使用する場合
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加