При выполнении запроса выбора (в SQL SERVER 2000+) с несколькими операторами where, такими как
SELECT *
FROM TABLE1
WHERE TableId = @TableId
AND Column1 = @Column1
AND Column2 = @Column2
AND Column3 = @Column3 etc.
... вычисляет ли запрос каждое из предложений where, даже если первое не равно? У меня есть запрос, который проверяет каждый из столбцов, чтобы увидеть, были ли внесены какие-либо изменения, перед обновлением (то есть он обновляется только при наличии изменений). Если запрос сравнивает каждый столбец, то я думаю, что мне нужно будет переписать запрос. Однако, если механизм запросов сначала фильтрует столбец идентификатора, а затем сравнивает каждый столбец отдельно в пределах этого отфильтрованного набора, производительность должна быть хорошей (я бы подумал?).
Надеюсь, это имеет смысл.
Спасибо,
Джеймс.