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

Откуда:
Сообщений: 450
Доброго времени суток!
Имеется такая проверка:
if exists(select * from table1 
                 join table2 on table1.col = table2.col
                 where table2.col1 = 'test')
                         set @res = 'ШТ' 
  else                  set @res = 'КГ'


Правильно ли оставить в таком запросе * или будет правильнее сделать например TOP 1 ... ?
30 окт 14, 19:29    [16779278]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
invm
Member

Откуда: Москва
Сообщений: 9400
Без разницы.
30 окт 14, 19:32    [16779281]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Volodya
Member

Откуда:
Сообщений: 450
будут ли в этом запросе таблицы связываться или обойдется?
30 окт 14, 19:50    [16779333]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37052
Volodya
будут ли в этом запросе таблицы связываться или обойдется?
Во-первых, будут или нет, вы можете увидеть самостоятельно в плане выполнения. Во-вторых, почему они не должны связываться в этом запросе?
30 окт 14, 19:51    [16779336]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Volodya
Member

Откуда:
Сообщений: 450
вернее, будет ли лукап ?
связка, понятно, будет )
30 окт 14, 19:52    [16779340]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37052
Volodya
вернее, будет ли лукап ?
связка, понятно, будет )
16779336
30 окт 14, 19:53    [16779341]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Volodya
Member

Откуда:
Сообщений: 450
понятно, спасибо
30 окт 14, 19:55    [16779346]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Volodya,

мега-гига-архи-оптимизаторы советуют писать

if exists(select 1 FROM ...)


Попробуйте
30 окт 14, 21:39    [16779612]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Crimean
Member

Откуда:
Сообщений: 13148
a_voronin
мега-гига-архи-оптимизаторы советуют писать


а еще в каком-то древнем сервис-паке была бага и надо было писать
if exists( select top 1 1 ... )
но давно уже не надо
30 окт 14, 23:16    [16779988]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Павел-П
Member

Откуда:
Сообщений: 234
a_voronin
Volodya,

мега-гига-архи-оптимизаторы советуют писать

if exists(select 1 FROM ...)


Попробуйте


И что реально производительность улучшается? Или только советуют?
30 окт 14, 23:17    [16779995]     Ответить | Цитировать Сообщить модератору
 Re: проверка if exists  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Павел-П,

"it depends" (ц)
обычно - нет, но когда в сервиспаках косячат - то таки да
31 окт 14, 00:13    [16780139]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить