UPDATE Table2
SET status = 2
WHERE user_id in (SELECT user_id FROM Table1 WHERE date > 0)
花如10秒內查詢執行 我使用PHP
q1 ="SELECT user_id FROM Table1 WHERE date > 0"
$q1_res=sql->execq($q1);
for ($i = 0; $i < count($q1_res); $i++) {
foreach ($q1_res[$i] as $key => $value) {
if ($key === "user_id") {
$q1_res_ids .= $value . ",";
}
}
}
$q2 ="UPDATE Table2
SET status = 2
WHERE user_id IN". $q1_res_ids
$sql->execq($q2);
這場耗時不到1秒的執行,我覺得它的速度更快打入兩個查詢使用MYSQL?
提示:['explain'](http://dev.mysql.com/doc/refman/5.6/en/using-explain.html) –
[這可能也值得擔心,比如「如果我做兩個單獨的查詢,如果其他人修改我的兩個查詢之間的數據會發生什麼?「。也許不是在這種情況下,但總的來說] – marnir