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 t