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

Откуда:
Сообщений: 625
нужно сделать подзапрос, что быстрее отработает: NOT IN (...) или NOT EXISTS (...)
5 сен 12, 09:33    [13115281]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
abort, EXISTS быстрее без сомнения.
5 сен 12, 09:38    [13115304]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
abort
нужно сделать подзапрос, что быстрее отработает: NOT IN (...) или NOT EXISTS (...)
Тут дело даже не в скорости.
Если IN() содержит хотя бы один NULL, NOT IN гарантированно приведёт к пустому датасету.
Я бы Вам посоветовал всегда писать NOT EXISTS(). Для надёжности.
Вряд ли тут есть разница в скорости выполнения.
5 сен 12, 09:39    [13115311]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
Glory
Member

Откуда:
Сообщений: 104751
abort
нужно сделать подзапрос, что быстрее отработает: NOT IN (...) или NOT EXISTS (...)

Тот, у которого план выполнения лучше. И еще тот, который результат нужный выдаст

Сообщение было отредактировано: 5 сен 12, 09:43
5 сен 12, 09:43    [13115343]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
abort
Member

Откуда:
Сообщений: 625
Интересно, а оптимизатор сам какой путь выбирает. По идее если NOT IN менее продуктивен, оптимизатор должен выбрать NOT EXISTS. Или я ошибаюсь
5 сен 12, 09:43    [13115345]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
iap
Вряд ли тут есть разница в скорости выполнения.

опыты показывают что есть : )
5 сен 12, 09:43    [13115346]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Александр52
iap
Вряд ли тут есть разница в скорости выполнения.

опыты показывают что есть : )

Опыты прежде всего показывают, что могут получиться разные результаты.
5 сен 12, 09:44    [13115356]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее работает: NOT IN (...) или NOT EXISTS (...)  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
SQL Server: JOIN vs IN vs EXISTS - the logical difference
5 сен 12, 10:26    [13115622]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить