0
SET @variable1 = (SELECT id FROM table2);
update vars set unq=1 where id IN @variable1
如何執行上述查詢。因爲有一百萬行和子查詢需要花費太多時間進行更新。所以如何將var的所有id保存在var中並在第二個查詢中使用。如何在變量中存儲子查詢。 MySql
SET @variable1 = (SELECT id FROM table2);
update vars set unq=1 where id IN @variable1
如何執行上述查詢。因爲有一百萬行和子查詢需要花費太多時間進行更新。所以如何將var的所有id保存在var中並在第二個查詢中使用。如何在變量中存儲子查詢。 MySql
當in
使用子查詢時間過長,請嘗試使用加入重寫:
update vars join
table2
on vars.id = table2.id
set unq = 1;
上table2.id
的索引,將有助於加速性能,以及。
謝謝.... Dammmmmmmmmm我怎麼忘記加入.. –
必須等待8分鐘。接受...... –
(查詢花了13.3356秒哇!)你能否也請看看這個... http://dba.stackexchange.com/questions/52609/fasted-way-to-perform-simple -operations對1百萬行-的mysql-的InnoDB表 –