Без сомнения, используйте Uniqueidentifier
.
Не добавляйте столбец bigint
, он вам не нужен.
Если вы используете репликацию слиянием и не используетеУ меня нет уникального идентификатора, тогда сервер все равно добавит этот столбец.
Используя GUID, вы теперь можете настраивать архитектуру БД с несколькими мастерами. Если вы используете bigint в качестве поля идентификации, то вы либо заставляете себя использовать только одного мастера (для управления bigint), либо вам приходится придумывать схему, чтобы предотвратить столкновение нескольких серверов друг с другом. Кроме того, используя GUID, вы избавляетесь от угадываемых идентификаторов, что, как правило, хорошо.
Мое собственное тестирование в диапазоне сотен миллионов записей с добавлением / удалением миллионов ежедневно не показало падения производительности, когдаиспользование идентификаторов GUID против int для идентификаторов.
Последнее замечание - в большинстве мест base64 кодирует guid при вызове веб-служб или, если он будет отображаться где-либо - как в адресной строке.