Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Empty guid или Null / 12 сообщений из 12, страница 1 из 1
17.10.2019, 17:39
    #39877836
Empty guid или Null
Коллеги, подскажите...

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

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

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

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

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

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

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

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

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

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

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


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