powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Empty guid или Null
12 сообщений из 12, страница 1 из 1
Empty guid или Null
    #39877836
Коллеги, подскажите...

Есть таблица, один из столбцов которой имеет тип uniqueidentifier.
Если значение не задано, то лучше в каком виде хранить пустое значение, в виде null или 00000000-0000-0000-0000-000000000000?

При условии что эта таблица связана с другой, через этот столбец.
...
Рейтинг: 0 / 0
Empty guid или Null
    #39877838
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NULL
...
Рейтинг: 0 / 0
Empty guid или Null
    #39877855
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin_Patrushev,

если значение неизвестно, то надо и хранить "неизвестно", т.е. NULL.
...
Рейтинг: 0 / 0
Empty guid или Null
    #39877887
Владислав Колосов,

На производительность (индексы) это влияет?
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878097
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin_Patrushev,

Был на демо у этого чувака, поэтому найти статью оказалось просто:
https://sqlsunday.com/2019/01/03/nullable-columns-and-performance/
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878116
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не отношусь к противникам NULL, но, в случае GUID лично я бы предпочел бы "empty guid" ("все нули"), т.к. это специальное зарезервированное значение, типа, как "NULL среди GUIDов". Результат тот же, но при этом есть подстраховка от нежданки наподобии:
Код: sql
1.
SELECT * FROM T WHERE MyGuid = MyGuid
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878120
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RFC 4122
The nil UUID is special form of UUID that is specified to have all 128 bits set to zero.
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878154
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторслучае GUID лично я бы предпочел бы "empty guid" ("все нули"), т.к. это специальное зарезервированное значение, типа, как "NULL среди GUIDов". Результат тот жеА как же пресловутая, горячо любимая ссылочная целостность ? :)
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878158
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовKonstantin_Patrushev,

если значение неизвестно, то надо и хранить "неизвестно", т.е. NULL.

Лично не проверял, не могу сказать.
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878163
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoА как же пресловутая, горячо любимая ссылочная целостность ? :)
Так она тут, если я ничего не упустил, не упоминалась. Если нужно "0 or 1 to Many", то удобней NULL (можно реализовать и без NULL, но потребуется дополнительная таблица). Просто, с NULL, как я и приводил пример выше, надо быть аккуратным:

Код: sql
1.
2.
declare @x int = null
select @x - @x
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878175
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

Вот как. Every day you learn something new. Не знал, что спец гуиды такие есть.

А что касается ссылочной целостности, то вот что гуры DW говорят
https://www.kimballgroup.com/2010/10/design-tip-128-selecting-default-values-for-nulls/
...
Рейтинг: 0 / 0
Empty guid или Null
    #39878193
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glebanski,

в статье идет речь о системе аналитической отчетности, не об OLTP.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Empty guid или Null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]