両方の NEWID()
および NEWSEQUENTIALID()
タイプ
NEWID()
ランダムなアクティビティが含まれるため、次の値は予測できず、実行に時間がかかります。
NEWSEQUENTIALID()
ランダムなアクティビティを伴わないため、 NEWID()
よりも速く実行されます 。
したがって、(セキュリティ上の理由から)予測される次の値について心配しない場合は、 NEWSEQUENTIALID()
を使用できます。 。予測可能性が心配な場合、またはパフォーマンスのわずかなペナルティを気にしない場合は、 NEWID()
を使用できます。 。
ただし、厳密な意味では、異なるマシンによって生成されたGUIDが同じ値を持つ可能性はごくわずかです。実際には、それは不可能であると考えられています。
さらに詳しい情報が必要な場合は、次をお読みください: GUIDを生成するためのどの方法が、GUIDが本当に一意であることを確認するのに最適ですか?
NEWID()
に注意してください RFC4122
に準拠しています 。もう1つの関数は、Microsoftのアルゴリズムを使用して値を生成します。