php抓取网页数据插入数据库( ,3种方法使用优化SQL语句、insert语句和事务)

优采云 发布时间: 2021-11-01 01:24

  php抓取网页数据插入数据库(

,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_pa​​cket = 2*1024*1024*10; 消费时间为:11:24:06 11:25:06;

  插入200W条测试数据只用了1分钟!代码如下:

<p>

$sql= “insert into twenty_million (value) values”;

for($i=0;$i

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线