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

Откуда:
Сообщений: 201
Добрый день!

На данный момент есть таблица N, имеющая три колонки с датами:

ИД, Название, Дата1, Дата2, Дата3.

Возникла необходимость получить следущий список по запросу:

[ИД] [Дата] [Тип Даты]
1 13/12/2014 Дата1
2 14/12/2014 Дата3
1 15/12/2014 Дата2

То есть необходимо получит список дат отсортированный, где во втором столбце даты из трех колонок.

В связи с этим вопрос - что правильнее ( с точки зрения производительности системы) - создать отдельную таблицу и там хранить даты в виде списка выше или разработать процедуру, которая предоставляет такой список ?
Из таблицы N часто приходится выбирать все колонки.
30 сен 14, 17:37    [16640252]     Ответить | Цитировать Сообщить модератору
 Re: Какое решение оптимальнее ?  [new]
iiyama
Member

Откуда:
Сообщений: 642
Sobaka WWW,
create view V_N AS select [ИД], Дата1 as [Дата],1 as [Тип Даты] union all select [ИД], Дата2,2 union all select [ИД], Дата3 ,3
30 сен 14, 18:28    [16640470]     Ответить | Цитировать Сообщить модератору
 Re: Какое решение оптимальнее ?  [new]
Sobaka WWW
Member

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

Спасибо, и все таки вопрос - это сильно влияет на производительность системы ?
Так как данный запрос будет использоваться где то 1000 конкурирующими пользователями, поэтому и спрашиваю :)
30 сен 14, 18:31    [16640490]     Ответить | Цитировать Сообщить модератору
 Re: Какое решение оптимальнее ?  [new]
Алексей Куренков
Member [заблокирован]

Откуда: Москва
Сообщений: 567
Sobaka WWW,

unpivot будет быстрее - 1 сик-скан.
30 сен 14, 18:43    [16640543]     Ответить | Цитировать Сообщить модератору
 Re: Какое решение оптимальнее ?  [new]
Sobaka WWW
Member

Откуда:
Сообщений: 201
Алексей Куренков,

Спасибо, никогда этим не пользовался - попробую.
30 сен 14, 18:58    [16640617]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить