Дублирующее условие в пункте где - PullRequest
0 голосов
/ 20 сентября 2019

Я просто хочу знать, как SQL Server выполняет этот запрос:

Select * 
from sampletable 
where id = 2 
  and name = 'xyz' 
  and id = 2;

Вы можете видеть, что id = 2 появляется дважды в приведенном выше запросе.Будет ли SQL Server игнорировать повторяющиеся условия или он будет выполнен дважды?

Повлияет ли наличие повторной проверки состояния на производительность?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Это не проблема для механизма SQL, потому что синтаксический анализатор операторов SQL будет просто игнорировать второе вхождение.

Относительно производительности не будет никакого существенного влияния также, поскольку фаза синтаксического анализа оператора SQL занимает лишь небольшую часть времени по сравнению с фактическим извлечением данных.

0 голосов
/ 20 сентября 2019

Для того, что я вижу, запрос будет игнорировать имя, если идентификатор равен 2, так как идентификатор столбца ставится в 2 разных случаях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...