Ire*_*ing 4 php mysql database
如果我有这样的脚本:
$sql = "SELECT * FROM table WHERE Status='0'";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query))
$id = $row['ID'];
//.........
if($process->send()) { //after sent
mysql_query("UPDATE table
SET Status ='1'
WHERE ID = '$id'");
}
}
Run Code Online (Sandbox Code Playgroud)
所以当进程完成时它会更新每一行.但是如果我有超过一万条记录Status='0',那么更新会变慢.
那么更新记录有更好的方法吗?我无法使用单个查询更新所有内容,因为我需要知道每个进程是否已完成.
谢谢.
Tom*_*rdt 10
将所有成功的数据添加到数组中,然后同时提交所有这些数据.
if ($process->send()) {
$done[] = $id;
}
Run Code Online (Sandbox Code Playgroud)
稍后:
mysql_query('UPDATE table SET Status=1 WHERE ID IN ('.implode(',', $done).')');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |