TP5批量插入数据(分批插入)

我们知道TP5有insetall函数可以批量插入,但是如果一次插入10000条数据呢  同时插入肯定会卡死,所以我们分批插入 

foreach ($sheetContent as $k => $v){
    $arr['customerName'] = $v[0];
    $arr['sex'] = $v[1];
    $arr['typeId'] = $v[2];
    $arr['customerPhone'] = $v[3];
    $arr['sourceId'] = $v[4];
    $arr['birthday'] = $v[5];
    $arr['customerwechat'] = $v[6];
    $arr['customer_remarks'] = $v[7];
    $arr['createTime'] = time();
    $res[] = $arr;
};

$num = 100;//每次导入条数
$limit = ceil(count($res)/$num);
for($i=1;$i<=$limit;$i++){
    $offset=($i-1)*$num;
    $data=array_slice($res,$offset,$num);
    $result=Db::name('customer')->insertAll($data);
};

 

你可能感兴趣的:(TP5批量插入数据(分批插入))