Не могли бы вы опубликовать DDL для таблицы профилей, пожалуйста?Это поможет увидеть, какие типы индексов вы настроили (например, можем ли мы предположить, что столбец id является первичным ключом здесь?).Если вы используете MySQL, просто запустите 'SHOW CREATE TABLE profile', чтобы сгенерировать DDL.
Несколько моментов, которые могут помочь:
1) Попробуйте использовать BETWEEN в своем WHERE.предложение вместо ИЛИ.например, UPDATE profiles
SET `name` =
CASE `id` WHEN 1 THEN 'John'
WHEN 2 THEN 'Jane' END,
`gender` = CASE `id`
WHEN 1 THEN 'Male' WHEN 2 THEN 'Female' END
WHERE `id` between 1 and 2;
2) Попробуйте разбить запрос на отдельные запросы, чтобы избежать использования оператора CASE, например,
update `profiles`
set `name` = 'John',
`gender` = 'Male'
where `id` = 1;
и
update `profiles`
set `name` = 'Jane',
`gender` = 'Female'
where `id` = 2;
Iне знаю, возможно ли это, так как я не уверен, в каком контексте вы используете запрос!Надеюсь, это поможет.