Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как правильнее : столбец not null и пустое\нет данных значение = 1 или все же столбец null  [new]
koJIo6ok
Member

Откуда: РБ
Сообщений: 950
например есть у меня таблица контрагенты, добавил строку id = 1, name = 'нет данных', и далее везде сделано
id_conterpart int not null Constraint FK_Conterpart foreign key(id_conterpart) references general.org(id)
и при неизвестном, не указанном, не нужном здесь и тд значении ставиться 1
но потом появились таблица договора в которой нет договора 1 - нет данных, поэтому
id_contract int null Constraint FK_Contract foreign key(id_contract) references contractual_work.contracts(id)

и соответственно где его нет\не нужен значение null
сейчас хотел было по возможности переделывать сделанное ранее и новые под Null, но где-то тут мельком видел что под 'еденичку' запросы будут работать быстрее, так ли это? в общем not null или null ? )
21 мар 12, 20:31    [12291242]     Ответить | Цитировать Сообщить модератору
 Re: как правильнее : столбец not null и пустое\нет данных значение = 1 или все же столбец null  [new]
koJIo6ok
Member

Откуда: РБ
Сообщений: 950
+ select @@VERSION

Microsoft SQL Server 2008 R2 (SP1) - 10.50.2806.0 (Intel X86)
Feb 14 2012 18:24:01
Copyright (c) Microsoft Corporation
Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
21 мар 12, 20:35    [12291266]     Ответить | Цитировать Сообщить модератору
 Re: как правильнее : столбец not null и пустое\нет данных значение = 1 или все же столбец null  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Тут дело не в быстрее/медленнее, а в том, что некоторые запросы возможно придется переписывать.
21 мар 12, 23:26    [12292039]     Ответить | Цитировать Сообщить модератору
 Re: как правильнее : столбец not null и пустое\нет данных значение = 1 или все же столбец null  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
koJIo6ok
но где-то тут мельком видел что под 'еденичку' запросы будут работать быстрее, так ли это? в общем not null или null ? )
Нет особой разницы никакой, но это не важно. Забейте. И перестаньте заниматься ерундой. Вам надо прикладную задачу решать, а не псевдо-философией.

В общем виде: зависит от задачи. Иногда надо запросы писать так что NULL будет очень удобен, а иногда не очень. А это очень важно.
Но в основном для этого NULL и используют.

А ещё вы не учитываете тыщу вещей, к примеру - что при вставке/изменении с этой долбаной 1-ей он будет проверять существование в заветной табличке.

Заполните главное - никогда не занимайтесь оптимизации мелочей, вы ничего не выиграете, занимайтесь оптимизации главных задач - неправильная архитектура похоронит проект без вариантов переиграть. А ваши 10 микросекунд вам ничего не дадут, вы их не почувствуете.

Правило: Оптимизация сверху вниз. И только.

Наберётесь опыта в чтении планов и сами поймёте, что важно, а что бред. Но только если захотите сами видеть и понимать суть.
Реализуете свои сотни проектов и поймёте сами и сможете аргументировать почему так.
21 мар 12, 23:42    [12292090]     Ответить | Цитировать Сообщить модератору
 Re: как правильнее : столбец not null и пустое\нет данных значение = 1 или все же столбец null  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5126
Mnior
Заполните главное - никогда не занимайтесь оптимизации мелочей, вы ничего не выиграете, занимайтесь оптимизации главных задач - неправильная архитектура похоронит проект без вариантов переиграть.
Правило: Оптимизация сверху вниз. И только.

баннером на главную
22 мар 12, 09:35    [12292801]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить