PHP疾速导入大批数据到数据库的要领
第一种要领:运用insert into 插进去,代码以下:
$params = array(‘value'=>'50′); set_time_limit(0); echo date(“H:i:s”); for($i=0;$i<2000000;$i++){ $connect_mysql->insert($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;$i<2000000;$i++){ $connect_mysql->insert($params); if($i%100000==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分钟!代码以下:
$sql= “insert into twenty_million (value) values”; for($i=0;$i<2000000;$i++){ $sql.=”('50′),”; }; $sql = substr($sql,0,strlen($sql)-1); $connect_mysql->query($sql);
总结:在插进去大批量数据时,第一种要领无疑是最低劣的,而第二种要领在现实运用中就比较普遍,第三种要领在插进去测试数据或许其他低请求时比较适宜,速率确切快。
引荐教程:PHP视频教程
以上就是php怎样疾速导入大批数据的细致内容,更多请关注ki4网别的相干文章!