В чем преимущество хранения newid () в столбце с типом данных UNIQUEIDENTIFIER в SQL Server 2012?

В моей таблице SQL Server 2012 указано следующее определение столбца:

[GlobalId] UNIQUEIDENTIFIER DEFAULT (newid()) NULL, 

Есть ли преимущество в том, что это определено как UNIQUEIDENTIFIER, или я могу просто определить его как строку. Причина, по которой я спрашиваю, заключается в том, что позднее я захочу не хранить полное значение GUID, и я, возможно, захочу создать свой собственный Id.

Теперь он хранится как UNIQUEIDENTIFIER, я могу изменить определение на строку и все еще работать с DEFAULT?

Вот пример того, что я сохранил в столбце GlobalId:

 6ffcac5e-88f1-4207-bbbe-0fc14265c01f 

Как сказано в ссылке, предоставленной valex,

GUID – уникальное двоичное число; ни один другой компьютер в мире не будет генерировать дубликат этого значения GUID. Основное назначение GUID – назначить идентификатор, который должен быть уникальным в сети с множеством компьютеров на многих сайтах.

Так что интерес этот знаменитый уникальный факт.

Если вам нужны строковые значения, используйте строковые значения, но встроенные функции в sql-сервере, позволяющие генерировать новые значения, – NEWID и NEWSEQUENTIALID, что дает UNIQUEIDENTIFIER.

Вы не обязаны использовать UNIQUEIDENTIFIER для столбцов идентификации, это будет зависеть от ваших данных и серверов: если только один сервер базы данных генерирует ключи, идентификатор последовательности – это хорошо, и он несколько эффективнее (и черт легко читать ), чем GUID. Iif несколько серверов генерируют ключи, а затем идут с GUID

Я не уверен в вопросе, который вы задаете. Но похоже, как преобразовать uniqueidentifer в строку. Чтобы преобразовать uniqueidenitifier в преобразование строки (char (36), newid ()) вернет строку.

Interesting Posts

Первый день следующего месяца

Копирование данных из sqlite в SQL Server

Где сохранить строку подключения SQL Server в приложении консоли клиента?

База поиска SQL-SERVER

SQL Server Query Пространственные данные для ближайшего соседа DISTINCT TOP N ORDER BY Distance

SQL Server row_number () Разделение по запросу

Подзапрос возвратил более 1 значения. Это недопустимо, когда подзапрос следует за =,! =, <, <=,>,> = Или когда подзапрос используется как выражение

Заказ SQL Server по GroupID Случайный, но asc ID в каждом идентификаторе группы

использование различного подключения к данным в визуальной студии

Разделить диапазон дат в одну строку в месяц на сервере sql

Dapper Несколько результатов из одного запроса

Как отключить таблицу обновлений для всех пользователей

почему в случае сбоя при изменении даты

Тестирование накладных расходов на решение ORM-решения – как?

Как выполнить MDX-запрос за последние 12 недель в моем измерении времени?

Давайте будем гением компьютера.