0
SET @variable1 = (SELECT id FROM table2);
update vars set unq=1 where id IN @variable1

如何执行上述查询。因为有一百万行和子查询需要太多时间来更新。那么如何将 table2 的所有 id 保存在 var 中并在第二个查询中使用。

4

1 回答 1

1

in子查询花费太长时间时,尝试使用连接重写:

update vars join
       table2
       on vars.id = table2.id
    set unq = 1;

上的索引table2.id也有助于提高性能。

于 2013-10-31T19:13:20.707 回答