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

Откуда:
Сообщений: 2649
Что быстрее работает позапрос или связь через LEFT JOIN?

Заранее благодарен.
11 июн 09, 14:05    [7290335]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

Зависит от...

Posted via ActualForum NNTP Server 1.4

11 июн 09, 14:07    [7290343]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
Если бы одно работало лучше другого, нафига было бы это другое нужно?
11 июн 09, 14:09    [7290354]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
vah
Member

Откуда:
Сообщений: 2649
Гавриленко Сергей Алексеевич
Если бы одно работало лучше другого, нафига было бы это другое нужно?
А конкретнее?
11 июн 09, 14:26    [7290480]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
linke
Member

Откуда: Питер
Сообщений: 1401
vah,

Шансы 50 на 50.))
11 июн 09, 14:28    [7290494]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
vah
Гавриленко Сергей Алексеевич
Если бы одно работало лучше другого, нафига было бы это другое нужно?
А конкретнее?
Что, конретнее?
11 июн 09, 14:42    [7290602]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
_djХомяГ
Guest
Взять в руки секундомер - очистить кеш, засечь время выполнить запрос используя JOIN, очистить кеш, засечь время, выполнить подзапрос Как то так )))
11 июн 09, 14:49    [7290659]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
linke
Member

Откуда: Питер
Сообщений: 1401
_djХомяГ,

вместо секундомера - профайлер.
11 июн 09, 14:53    [7290707]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Glory
Member

Откуда:
Сообщений: 104760
_djХомяГ
Взять в руки секундомер - очистить кеш, засечь время выполнить запрос используя JOIN, очистить кеш, засечь время, выполнить подзапрос Как то так )))

+1
И делать так не один раз, а для каждого конкретного случая выбора между подзапросом и join-ом
11 июн 09, 14:54    [7290716]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
_djХомяГ
Guest
linke,
тогда ещё планы запросов надо было бы до кучи проанализировать, а так как есть подозрения, что следующим вопросом будет - как активировать профайлер и/или как прочитать план запроса, то секундомер самое то )))
11 июн 09, 14:57    [7290741]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
vah
Member

Откуда:
Сообщений: 2649
_djХомяГ
linke,
как активировать профайлер и/или как прочитать план запроса


ну уж это то я знаю...
11 июн 09, 15:52    [7291213]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
если знать, что есть план запроса, то смысла спрашивать что быстрее не имеет смысла...

для спящего время бодрствования равносильно сну
11 июн 09, 15:53    [7291226]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
ДмитрийF
Member

Откуда:
Сообщений: 25
А как кеш вообще на время отключить?
11 июн 09, 20:28    [7292353]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
ДмитрийF
А как кеш вообще на время отключить?
DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS
DBCC FREEPROCCACHE WITH NO_INFOMSGS
перед запросом?
11 июн 09, 21:50    [7292521]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Crimean
Member

Откуда:
Сообщений: 13148
нууу, планы-то разные будут при мало-мальски сложном запросе :)
11 июн 09, 22:18    [7292590]     Ответить | Цитировать Сообщить модератору
 Re: подзапрос  [new]
Denis A.
Member

Откуда: Челябинск
Сообщений: 353
vah,

Самый правильный способ - написать оба запроса и посмотреть планы. В некоторых случаях они будут совершенно одинаковы :)
15 июн 09, 07:58    [7298468]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить