我在MySQL数据库中有两个表。假设表1中有1800条记录,表2中有20000条记录。现在我想比较表1和表2中的每条记录,并更新表2中的一些字段以查找匹配的记录。
我想知道最优化的方法是什么。
答案 0 :(得分:2)
最有效的操作是使用连接的更新语句。像这样:
UPDATE table_2 AS t2
INNER JOIN table_1 AS t1 ON t1.some_id = t2.some_id
SET t2.some_col = t1.some_col;
答案 1 :(得分:-2)
<?PHP
$lim = 5;
$limit = (int)$_GET['page']*$lim;
$res = mysql_query("select * from table1 limit $limit,$lim");
while($row = mysql_fetch_array($res)){
$som = $row['som'];
$id= $row['id'];
mysql_query("update table2 set somerow = $som where id=$id");
}
echo "<a href='?page=".$_GET['page']+1."'>Next</a>";
?>