Что быстрее в SQL-сервере — LIKE в цикле или IN Query — с использованием EF Migration

Мне нужно обновить столбец набора строк в таблице с заданным именем.

Какой запрос выполняется быстрее:

Обновить .... установить... где имя в ('abc','pqr','mnp','xyz')

or

foreach (строка str в списке имен) { Обновить.... установить... где имя похоже на строку}


person Sahi    schedule 03.12.2015    source источник
comment
Операции на основе наборов обычно выполняются намного быстрее.   -  person Arvo    schedule 03.12.2015


Ответы (1)


Вы используете НРАВИТСЯ, когда хотите использовать подстановочные знаки... в противном случае держитесь от них подальше, так как они очень дороги. Что касается циклов, я также стараюсь держаться от них подальше, поскольку они обычно обходятся дорого. Итак, мое личное мнение? Один оператор обновления с предложением IN даст вам лучшую производительность, чем цикл и лайк.

person JohnG    schedule 03.12.2015