Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 NULLable или 2 поля  [new]
Darooma
Member

Откуда:
Сообщений: 758
В таблице есть nullable поле Read. Можно ли с уверенностью сказать, не принимая во внимание остальные детали, что лучше использовать в данном случае:
одно nullable поле Read или 2 поля IsRead bit и ReadDate datetime?

Если выборка будет производится по этому полю:
а) часто
б) редко


Я читал, что null поля нежелательно использовать вообще.
16 янв 12, 15:17    [11911502]     Ответить | Цитировать Сообщить модератору
 Re: NULLable или 2 поля  [new]
Darooma
Member

Откуда:
Сообщений: 758
автор
или 2 поля IsRead bit и ReadDate datetime

ReadDate в данном случае не nullable
16 янв 12, 15:18    [11911517]     Ответить | Цитировать Сообщить модератору
 Re: NULLable или 2 поля  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Darooma,

Какая версия сервера у вас? Можно использовать одно поле с null + фильтрованный индекс, чтобы осуществлять поиск только в тех записях, где поле read не null.
16 янв 12, 15:22    [11911568]     Ответить | Цитировать Сообщить модератору
 Re: NULLable или 2 поля  [new]
Darooma
Member

Откуда:
Сообщений: 758
SomewhereSomehow,

sql server 2008 r2
16 янв 12, 15:46    [11911895]     Ответить | Цитировать Сообщить модератору
 Re: NULLable или 2 поля  [new]
Darooma
Member

Откуда:
Сообщений: 758
SomewhereSomehow
Darooma,

Можно использовать одно поле с null + фильтрованный индекс, чтобы осуществлять поиск только в тех записях, где поле read не null.

Что за индекс такой? Если его не использовать, это будет намного медленнее?
16 янв 12, 15:47    [11911904]     Ответить | Цитировать Сообщить модератору
 Re: NULLable или 2 поля  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Darooma,

Рекомендации по проектированию отфильтрованных индексов
Насчет быстрее/медленнее, все относительно. Поставьте эксперимент, может на ваших данных или запросах вообще никакой индекс не будет использоваться.
16 янв 12, 16:35    [11912435]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить