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

Откуда:
Сообщений: 55
В отчете для клиента требуется сопоставить данные из нашей системы и системы клиента, своего рода маппинг значений. Как в плане производительности лучше поступить:
1) Использовать CASE. Для примера:
CASE WHEN a=1 THEN '11'
	WHEN a=2 THEN '18'
	WHEN a=3 THEN '25'
	END

2) С помощью временной таблицы, которая и будет представлять собой этот маппинг, и потом через JOIN
3) С помощью табличной переменной, которая и будет представлять собой этот маппинг, и потом через JOIN

Таких маппингов несколько - одни из них не большие другие чуть по больше
24 мар 14, 18:00    [15779382]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше в плане производительности CASE или JOIN?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31783
Androgen1985
В отчете для клиента требуется сопоставить данные из нашей системы и системы клиента, своего рода маппинг значений. Как в плане производительности лучше поступить:
1) Использовать CASE.
2) С помощью временной таблицы, которая и будет представлять собой этот маппинг, и потом через JOIN
3) С помощью табличной переменной, которая и будет представлять собой этот маппинг, и потом через JOIN

1 быстрее, 2 и 3 одинаково.
24 мар 14, 18:14    [15779491]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше в плане производительности CASE или JOIN?  [new]
Exproment
Member

Откуда:
Сообщений: 416
Androgen1985, Я бы запилил вьюшку или inline function с вашим маппингом и join'ил с ней. Универсальнее)
24 мар 14, 21:18    [15780243]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше в плане производительности CASE или JOIN?  [new]
Androgen1985
Member

Откуда:
Сообщений: 55
Спасибо всем большое
24 мар 14, 22:15    [15780461]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить