php抓取网页数据插入数据库( ,3种方法使用优化SQL语句、insert语句和事务)
优采云 发布时间: 2021-11-01 01:24php抓取网页数据插入数据库(
,3种方法使用优化SQL语句、insert语句和事务)
PHP海量插入数据库的3种方法及速度对比
更新时间:2014-07-08 08:56:23 投稿:俊杰
本文文章主要介绍PHP大量插入数据库的3种方法和速度对比。3种方法使用普通的insert语句、insert into语句和事务提交。有需要的朋友可以参考
第一种方法:使用insert into插入,代码如下:
$params = array(‘value'=>'50′);
set_time_limit(0);
echo date(“H:i:s”);
for($i=0;$iinsert($params);
};
echo date(“H:i:s”);
最后显示为:23:25:05 01:32:05,2个多小时!
方法二:使用事务提交,批量插入数据库(每10W提交一次)最后显示消耗时间:22:56:13 23:04:00,共8分13秒,代码为如下:
echo date(“H:i:s”);
$connect_mysql->query(‘BEGIN');
$params = array(‘value'=>'50′);
for($i=0;$iinsert($params);
if($i0000==0){
$connect_mysql->query(‘COMMIT');
$connect_mysql->query(‘BEGIN');
}
}
$connect_mysql->query(‘COMMIT');
echo date(“H:i:s”);
第三种方法:使用优化的SQL语句:拼接SQL语句,使用insert into table() values(),(),(),()然后一次性插入。如果字符串太长,
需要配置MYSQL并在mysql命令行运行:set global max_allowed_packet = 2*1024*1024*10; 消费时间为:11:24:06 11:25:06;
插入200W条测试数据只用了1分钟!代码如下:
<p>
$sql= “insert into twenty_million (value) values”;
for($i=0;$i