想用TP插入一些测试数据到mysql5.6,开始插入100万条记录没问题。
后来我想插入200万测试数据的时候,试了好多次都不成功,这段代码没有任何输出,也没有捕获到任何异常,到数据库里查看时,有时候插入了115万条,有时候插入1105000条.......每次插入的条数都不一样,但都没到200万条。本人刚用tp个把月,还请大家帮忙看看这段代码有什么问题,谢谢谢!
public function test(){
G('begin');
try{
$openid = 'testopenid_';
$unionidid = 'testunionid_';
$addtime = date('Y-m-d H:i:s', time());
$size = 0;
for($i=0; $i<2000000; $i ++){
$size ++;
$action = rand(1, 10);
$points[] = array(
'openid' => ($openid.$i),
'unionid' => ($unionidid.$i),
'action' => $action,
'addtime' => $addtime,
);
if($size == 5000){ // 内存已经调到最大 128M 一次差不多能插如 5000 条
$res = M('pointsHistory2m')->addAll($points);
if($res){
unset($points);
$size = 0;
}else{
exit(M('pointsHistory2m')->getDbError());
}
}
}
if(isset($points) && !empty($points)){
$res = M('pointsHistory2m')->addAll($points);
if($res){
unset($points);
}else{
exit(M('pointsHistory2m')->getDbError());
}
}
}catch (Exception $e){
$error = $e->getMessage();
exit($error);
}
G('end');
echo $res.': '.G('begin','end').'s';
} 最佳答案