php+Mysql 大数据导入怎样提高效率
1个回答
2016-08-11 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
优化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";
foreach($re as $it){
$str= "'".$it['id']."','".$it['name']."'";
}
$sql .= "(".$str."),";
$sql2 = substr($sql,0,-1);
mysql_query($sql);
打开mysql的配置文件,my.ini文件,并找到:max_allowed_packet项;
将值修改大一点,具体根据自己需要修改。比如这里修改为:1G。
重启mysql服务;
5
如果运行页面提示内存溢出,可将值设大一点。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)
步骤阅读
6
这样,面对千万数据导入的时候,比原来那种方法至少快好多倍。
比如循环一条一条插入,改成链接多个值进行插入。
将:
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";
foreach($re as $it){
$str= "'".$it['id']."','".$it['name']."'";
}
$sql .= "(".$str."),";
$sql2 = substr($sql,0,-1);
mysql_query($sql);
打开mysql的配置文件,my.ini文件,并找到:max_allowed_packet项;
将值修改大一点,具体根据自己需要修改。比如这里修改为:1G。
重启mysql服务;
5
如果运行页面提示内存溢出,可将值设大一点。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)
步骤阅读
6
这样,面对千万数据导入的时候,比原来那种方法至少快好多倍。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询