If I SELECT
IDs then UPDATE
using those IDs, then the UPDATE
query is faster than if I would UPDATE
using the conditions in the SELECT
.
To illustrate:
SELECT id FROM table WHERE a IS NULL LIMIT 10; -- 0.00 sec
UPDATE table SET field = value WHERE id IN (...); -- 0.01 sec
The above is about 100 times faster than an UPDATE
with the same conditions:
UPDATE table SET field = value WHERE a IS NULL LIMIT 10; -- 0.91 sec
Why?
Note: the a
column is indexed.