Версия CASE
.
Это потому, что есть большая вероятность, что вы изменяете одну и ту же строку более одного раза с отдельными утверждениями. Если в строке 10 есть и condition_1
, и condition_y
, тогда ее нужно будет прочитать и изменить дважды. Если у вас есть кластеризованный индекс, это означает, что два кластеризованных индекса обновляются поверх других полей, которые были изменены.
Если вы можете сделать это как один оператор, каждая строка будет прочитана только один раз, и она должна выполняться намного быстрее.
Я изменил аналогичный процесс около года назад, когда использовались десятки UPDATE
последовательных операторов, чтобы использовать начиная с UPDATE
с CASE
, а время обработки сократилось примерно на 80%.