我有一个疑问:
UPDATE table_1 set field_1 = 1 where field_2 IN
(SELECT field_2 from table_2 where field_3 = 1)
然而,对于大型数据库来说,这需要很长时间(>2000ms)。有没有办法使用 JOIN 重写此查询以避免使用 IN?
注意:field_1和field_3都有索引,但对查询没有帮助。这是使用 MySQL。
最佳答案
UPDATE table_1, table_2
SET table_1.field_1 = 1
WHERE table_1.field_2 = table_2.field_2
AND table_2.field_3 = 1
关于mysql - 使用 INNER JOIN 重写 UPDATE 查询而不使用 IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892191/