Если я SELECT
ID, а затем UPDATE
, используя эти идентификаторы, запрос UPDATE
выполняется быстрее, чем если бы я UPDATE
использовал условия в SELECT
.
Чтобы проиллюстрировать:
SELECT id FROM table WHERE a IS NULL LIMIT 10; -- 0.00 sec
UPDATE table SET field = value WHERE id IN (...); -- 0.01 sec
Вышеуказано, примерно в 100 раз быстрее, чем UPDATE
при тех же условиях:
UPDATE table SET field = value WHERE a IS NULL LIMIT 10; -- 0.91 sec
Почему?
Примечание: столбец a
индексируется.