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