PHP使用UPDATE批量更新MYSQL数据库记录的疑问

do{$iccid=trim($row['card_iccid']);$msg='<GetTerminalDetailsRequestxmlns="'.$JASPER_U... do{

$iccid=trim($row['card_iccid']);
$msg =
'<GetTerminalDetailsRequest xmlns="'.$JASPER_URI.'">'.
'<messageId></messageId>'.
'<version>1.0</version>'.
'<licenseKey>'.$licenseKey.'</licenseKey>'.
'<iccids>'.
'<iccid>'.$iccid.'</iccid>'.
'</iccids>'.
'</GetTerminalDetailsRequest>';
$t = $service->call('GetTerminalDetails', $msg);
$ins_card_iccid=$t['terminals']['terminal']['iccid'];
$ins_card_status=$t['terminals']['terminal']['status'];
$ins_card_customer=explode("M",$t['terminals']['terminal']['customer']);
$ins_card_active_time=substr($t['terminals']['terminal']['dateActivated'],0,10)." ".substr($t['terminals']['terminal']['dateActivated'],11,8);
$ins_card_currusage=(int)$t['terminals']['terminal']['monthToDateDataUsage'];
$ins_rest_flow=$ins_card_customer[0]-$ins_card_currusage;
//更新前检查是否存在ICCID
$pre_query_sql="select * from tb_warehouse_card where card_iccid='".$ins_card_iccid."'";
$pre_result=mysql_query($pre_query_sql);
$pre_rows=mysql_num_rows($pre_result);
if($pre_rows<=0)
$do_nothing=0;
else{ //iccid存在,更新对应数据
$update_card_sql="update tb_warehouse_card set card_status='".$ins_card_status."',card_packge='".$ins_card_customer[0]."',enable_time='".$ins_card_active_time."',curr_usage=".$ins_card_currusage.",card_rest_flow=".$ins_rest_flow." where card_iccid='".$ins_card_iccid."'";
mysql_query($update_card_sql);
$msg2="更新 ".$ins_card_iccid." ".date("Y-m-d H:i:s")."\r\n";
file_put_contents("log/".date("Y-m-d").".log",$msg2,FILE_APPEND);//记录日志
}

}while($row=mysql_fetch_array($exe_result));
mysql_close($conn);
sleep($interval);//等待时间,进行下一次操作。
}while(true);
目的是为了从接口获取这个ICCID变量的信息,再更新到对应ICCID的行,表里有10万行数,无论我怎么修改语句都只能更新大概2000多条
ignore_user_abort(true);//关闭浏览器仍然执行
set_time_limit(0);//让程序一直执行下去
$interval=300;//每隔一定时间运行
页面时间我也加上了,是不是MYSQL数据库性能的事
展开
 我来答
可以吧可以吧
2016-09-03 · 超过18用户采纳过TA的回答
知道答主
回答量:58
采纳率:100%
帮助的人:27.7万
展开全部
我不太懂,你可以把表做一个分表,比如一个表内取1到10,第二个分表去10,20,分散数据量试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式