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

Откуда:
Сообщений: 9
Добрый день! подскажите, какой из вариантов быстрее отработает? если я правильно понимаю, в первом варианте сначала по условию выбирается tab1 затем прикручивается tab2, во втором сначала связываются две таблицы, а потом работает условие, т.о. первый быстрее, т.к. tab1 перед связкой уже имеет меньшее количество записей, верно?

1. select tab1.model, tab2.model
from (select * from tab1 where abs=3) as tab1 join
tab2 on tab1.model_n=tab2.model

2. select tab1.model, tab2.model
from tab1 join tab2
on tab1.model_n=tab2.model
where tab1.abs=3

Спасибо.
28 янв 14, 16:36    [15483329]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
Glory
Member

Откуда:
Сообщений: 104760
SemenIvanovich
если я правильно понимаю, в первом варианте сначала по условию выбирается tab1 затем прикручивается tab2, во втором сначала связываются две таблицы, а потом работает условие, т.о. первый быстрее, т.к. tab1 перед связкой уже имеет меньшее количество записей, верно?

Это вы пересказываете реальные планы выполнения ?
Или просто рассуждаете ?
28 янв 14, 16:37    [15483341]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
гадает на кофеной гуще.. вместо того чтоб проверить
28 янв 14, 16:39    [15483359]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
SemenIvanovich
Member

Откуда:
Сообщений: 9
не начем проверять, факультативно так сказать пытаюсь разобраться + здесь инфа может кому еще пригодится
28 янв 14, 16:47    [15483432]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
Glory
Member

Откуда:
Сообщений: 104760
SemenIvanovich
не начем проверять, факультативно так сказать пытаюсь разобраться

Факультативно смоделировать оптимизатор ?
28 янв 14, 17:14    [15483627]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
aleks2
Guest
SemenIvanovich
Добрый день! подскажите, какой из вариантов быстрее отработает? если я правильно понимаю, в первом варианте сначала по условию выбирается tab1 затем прикручивается tab2, во втором сначала связываются две таблицы, а потом работает условие, т.о. первый быстрее, т.к. tab1 перед связкой уже имеет меньшее количество записей, верно?

1. select tab1.model, tab2.model
from (select * from tab1 where abs=3) as tab1 join
tab2 on tab1.model_n=tab2.model

2. select tab1.model, tab2.model
from tab1 join tab2
on tab1.model_n=tab2.model
where tab1.abs=3

Спасибо.


Порядок проверки условий выбирает оптимизатор.
В данном конкретном случае - это абсолютно идентичные запросы.
28 янв 14, 17:49    [15483911]     Ответить | Цитировать Сообщить модератору
 Re: какой код быстрее  [new]
SemenIvanovich
Member

Откуда:
Сообщений: 9
aleks2, спасибо.
29 янв 14, 08:44    [15486138]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить