重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
if ($strleng100){
创新互联建站主要从事成都网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务永安,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
//如果大于100条就每次写入100,休息1秒,然后继续写,直到写完为止
$write_count = floor($strleng/100);
while ($write_count 0){
for ($i=0;$i100;$i++){
echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)";//写100次就休息
}
//echo "INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);";这样可以一次插入多条数据,效率更高
//参考
$write_count -=1 ;
sleep(1);
echo '休息1秒';
}
}
$value = '';$query_num = 5; //插入数量for($i=1;$i=$query_num;$i++){ $value .= "('25','1')";}//mysql insert有插入多条语法,拼接sql语句,table_name表名 $sql = "insert into table_name (memid,online) values ".$value;//执行,插入$query_num条数据mysql_query($sql);
一次性插入1000条数据比一条一条的插入速度会提升N倍,主要技巧就是在写SQL的上面,没啥难度
insert into table1 value (v1, v2, v3), (x1,x2,x3),....
而不是
insert into table1 value (v1, v2, v3);
insert into table1 value (x1,x2,x3);
这样一条一条的插入
希望你能明白
PHP框架 Laravel Eloquent ORM 批量插入数据是通过传入数组实现的。
比如:
DB::table('users')-insert(array(
array('email' = 'taylor@example点抗 ', 'votes' = 0),
array('email' = 'dayle@example点抗 ', 'votes' = 0),
));
以上是操作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。
然后调用save方法:
public static function create(array $attributes)
{
$model = new static($attributes);
$model-save();
return $model;
}