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

Откуда: Мурманск
Сообщений: 27465
Как поведет себя SQL Server вот в такой ситуации:
есть условие where
в ней задано 2 условия через and
например
where
a=b and b=c
Следовательно возникает вопрос, если условие a=b будет FALSE, то SQL Server станет ли проверять условие b=c? или он сразу поймет, что в этом смысла нет?
19 авг 04, 14:35    [894171]     Ответить | Цитировать Сообщить модератору
 Re: Как поведет себя SQL Server?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Станет.
19 авг 04, 14:37    [894184]     Ответить | Цитировать Сообщить модератору
 Re: Как поведет себя SQL Server?  [new]
Yuraz.com
Member

Откуда:
Сообщений: 802
наверное первую часть и все. Не логично проверять дальше.
19 авг 04, 16:49    [894859]     Ответить | Цитировать Сообщить модератору
 Re: Как поведет себя SQL Server?  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
Для случая проверок вида
if (a=b and b=c)
в BOL написано что второе условие не будет проверяться, если первое FALSE.
Для случая выборки - должно быть тоде самое, после проверки первого (по плану выполнения, а не по порядку в запросе) условия второе проверяться не будет если первое FALSE.
19 авг 04, 16:57    [894894]     Ответить | Цитировать Сообщить модератору
 Re: Как поведет себя SQL Server?  [new]
Алексей Ельцов
Member

Откуда: Redmond
Сообщений: 252
Более того, SQL Server имеет понятие о транзитивности, поэтому даже может быть он вначале проверит a=c

Алексей
21 авг 04, 21:58    [899407]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить