Keduanya NEWID()
dan NEWSEQUENTIALID()
berikan nilai unik global dari jenis uniqueidentifier
.
NEWID()
melibatkan aktivitas acak, sehingga nilai berikutnya tidak dapat diprediksi, dan lebih lambat untuk dieksekusi.
NEWSEQUENTIALID()
tidak melibatkan aktivitas acak, sehingga nilai yang dihasilkan berikutnya dapat diprediksi
(tidak mudah!) dan dieksekusi lebih cepat dari NEWID()
.
Jadi, jika Anda tidak khawatir dengan prediksi nilai berikutnya (untuk alasan keamanan), Anda dapat menggunakan NEWSEQUENTIALID()
. Jika Anda khawatir tentang prediktabilitas atau Anda tidak keberatan dengan penalti kinerja kecil, Anda dapat menggunakan NEWID()
.
Namun, dalam arti sempit, masih ada kemungkinan kecil bahwa GUID yang dihasilkan oleh mesin yang berbeda memiliki nilai yang sama. Dalam praktiknya, itu dianggap tidak mungkin.
Jika Anda ingin info lebih lanjut, baca ini:Metode mana untuk menghasilkan GUID yang terbaik untuk memastikan GUID benar-benar unik?
Catatan NEWID()
mematuhi RFC 4122
. Dan fungsi lainnya menggunakan algoritme Microsoft untuk menghasilkan nilai.