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

Откуда: Israel
Сообщений: 140
доброе время суток!
работаю на SQL 2008
есть запрос
 Select   BATCHES.BATCHNO, BATCHES.BATCHID
from BATCHES,FOLDERS,ORDERS,ORDTASK
where   BATCHES.BATCHID=FOLDERS.BATCHID
and FOLDERS.FOLDERNO=ORDERS.FOLDERNO 
                 and ORDERS.ORDNO=ORDTASK.ORDNO 

и т.д.

если его написать через inner join явно, будет ли быстрее выполняться?
запрос выполняется не на сервере а в веб приложении клиента

спасибо

Сообщение было отредактировано: 16 сен 14, 18:04
16 сен 14, 18:02    [16582498]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
Glory
Member

Откуда:
Сообщений: 104751
olga zobkov
запрос выполняется не на сервере а в веб приложении клиента

Все запросы выполняются на сервере. На клиенте только формируется текст запроса

olga zobkov
если его написать через inner join явно, будет ли быстрее выполняться?

Вы можете переписать и протестировать на вашем сервере.

А что ? А вдруг ?! (с) реклама
16 сен 14, 18:05    [16582511]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
olga zobkov
если его написать через inner join явно, будет ли быстрее выполняться?
Ну так перепишите и сравните. В т.ч. быстродействие и план выполнения.
olga zobkov
запрос выполняется не на сервере а в веб приложении клиента
Щито? O_o
16 сен 14, 18:05    [16582512]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4894
olga zobkov

если его написать через inner join явно, будет ли быстрее выполняться?



Будут эквивалентны.
16 сен 14, 18:31    [16582618]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
olga zobkov
если его написать через inner join явно, будет ли быстрее выполняться?
Теоретически может, если таблиц в соединениях очень много (скажем, несколько десятков).

В этом случае использование JOIN и изменение порядка соединений может помочь оптимизатору подобрать хороший план, поскольку для большого количества таблиц он не перебирает всех вариантов.

Но вероятность маленькая.
16 сен 14, 18:44    [16582655]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
gandjustas
Member

Откуда:
Сообщений: 857
Блог
alexeyvg,

SQL Server на стадии упрощения запроса превращает такие выражения в джоин.
16 сен 14, 19:07    [16582716]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
gandjustas
alexeyvg,

SQL Server на стадии упрощения запроса превращает такие выражения в джоин.
Это да, просто если писать явные джойны, то легче менять их порядок, что в принципе может помочь (или навредить) оптимизатору для больших запросов.
Если таблицы перечислены через запятую, то как менять, просто менять таблицы местами? Кто его знает, как он их преобразует...
17 сен 14, 10:07    [16584247]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Формально разные записи запроса могут приводить к разным планам.
Но запятые надо выбрасывать из запроса и по другим соображениям.
17 сен 14, 10:12    [16584273]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
olga zobkov
Member

Откуда: Israel
Сообщений: 140
gandjustas,

спасибо я так и предполагала
17 сен 14, 10:13    [16584275]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
olga zobkov
Member

Откуда: Israel
Сообщений: 140
iap
Формально разные записи запроса могут приводить к разным планам.
Но запятые надо выбрасывать из запроса и по другим соображениям.

по каким?
17 сен 14, 11:45    [16584772]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
olga zobkov
iap
Формально разные записи запроса могут приводить к разным планам.
Но запятые надо выбрасывать из запроса и по другим соображениям.

по каким?
Например, попробуйте преобразовать в LEFT JOIN.
Смешать же запятые и JOINы в одном запросе чаще всего не получится без дополнительных телодвижений.
Синтаксис с запятыми - устаревший (ANSI-89). Фуууу!
17 сен 14, 11:50    [16584802]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
olga zobkov
iap
Формально разные записи запроса могут приводить к разным планам.
Но запятые надо выбрасывать из запроса и по другим соображениям.

по каким?

по эстетическим.
17 сен 14, 12:08    [16584923]     Ответить | Цитировать Сообщить модератору
 Re: быстродействие  [new]
olga zobkov
Member

Откуда: Israel
Сообщений: 140
iap, понятно- запрос чужой, я сама запятыми не пользуюсь
17 сен 14, 12:52    [16585120]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить