网站首页 > 文章中心 > 其它

php脚本快速导入大数据

作者:小编 更新时间:2023-08-21 00:47:49 浏览量:320人看过

php采集大数据的方案

但是我不建议你用fork,我建议你安装一个gearman worker.这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread啊,process等等.

(1)安装gearman worker.

不知道你明白了没有

求关于php excel导入大数据到mysql的解决办法

require_once(?'./PHPExcel/IOFactory.php');

$filePath?=?'D:/xxx.xlsx';?//excel?文件名?

$objPHPExcel?=?$objReader-load($filePath);

$sheetData?=?$objPHPExcel-getActiveSheet()-toArray(null,true,true,true);

$insql?=?'insert?into?表名(x,x,x)?valeus';

//遍历数组?$sheetData

//如果有标题?先删除?unset($sheetData[1]);

foreach($sheetData?as?$k?=?$data){

$insql?.=?'('.$data['A'].','.$data['B'].','.$data['C'].'),';

//一次插入100条数据?减少数据库压力

if(($k+1?/?100)?==?0){

$insql?=?rtrim($insql,',').';';?//将最后的逗号替换成分好

//插入数据库?并且重置?字符串?$insql?

//或者保存到文件中?利用source?命令插入数据库

}

php+Mysql 大数据导入怎样提高效率

优化SQL插入语句;

比如循环一条一条插入,改成链接多个值进行插入.

将:

foreach($re as $it){

$sql="insert into table (id,name) values(".$it['id'].","."$it['name'].")";

mysql_query($sql);

改为:

$sql="insert into table (id,name) values";

$str= "'".$it['id']."','".$it['name']."'";

$sql .= "(".$str."),";

打开mysql的配置文件,my.ini文件,并找到:max_allowed_packet项;

将值修改大一点,具体根据自己需要修改.比如这里修改为:1G.

重启mysql服务;

如果运行页面提示内存溢出,可将值设大一点.

步骤阅读

这样,面对千万数据导入的时候,比原来那种方法至少快好多倍.

以上就是土嘎嘎小编为大家整理的php脚本快速导入大数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章