数码资讯
PHP批量插入数据库的3种方法及速度比较
第一种方法:使用插入到插入中,代码如下所示: $params =阵列(币值= > 50'); (0)set_time_limit; 回声日期(h:I:S); ($ i = 0;$ i < 2000000;$ + +){ connect_mysql美元->插入($params); }; 回声日期(h:
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
第一种方法:使用插入到插入中,代码如下所示:
$params =阵列(币值= > 50');
(0)set_time_limit;
回声日期(h:I:S);
($ i = 0;$ i < 2000000;$ + +){
connect_mysql美元->插入($params);
};
回声日期(h:I:S);
最终表现为:23:25:05 01:32:05已超过2小时了!
第二种方法是使用事务提交,批量插入数据库(每10w提交),最后显示的消费时间是22:56:13 23:04:00,总共8分钟,13秒,代码如下:
回声日期(h:I:S);
connect_mysql美元->查询('begin);
$params =阵列(币值= > 50');
($ i = 0;$ i < 2000000;$ + +){
connect_mysql美元->插入($params);
如果($ i = 100000 = 0){
connect_mysql美元->查询('commit);
connect_mysql美元->查询('begin);
}
}
connect_mysql美元->查询('commit);
回声日期(h:I:S);
第三种方法是使用优化的SQL语句:拼接SQL语句,使用INSERT到表()、值()、()、(),然后如果字符串太长,再插入一次。
你需要配置MySQL运行在MySQL命令行:设置全局max_allowed_packet = 2 * 1024 * 1024 * 10;时间:11:24:06 11:25:06;
它只需1分钟插入200W条测试数据!代码如下:
为SQL插入twenty_million(值)值;
($ i = 0;$ i < 2000000;$ + +){
为SQL。=('50 '),;
};
为SQL = substr($ SQL 0,strlen($ SQL)- 1);
connect_mysql美元->查询($ SQL);
最后得出结论,第一种方法在插入海量数据时是最差的,第二种方法在实际中得到了广泛的应用。这第三种方法更适合于插入测试数据或其他低要求,而且速度很快。
$params =阵列(币值= > 50');
(0)set_time_limit;
回声日期(h:I:S);
($ i = 0;$ i < 2000000;$ + +){
connect_mysql美元->插入($params);
};
回声日期(h:I:S);
最终表现为:23:25:05 01:32:05已超过2小时了!
第二种方法是使用事务提交,批量插入数据库(每10w提交),最后显示的消费时间是22:56:13 23:04:00,总共8分钟,13秒,代码如下:
回声日期(h:I:S);
connect_mysql美元->查询('begin);
$params =阵列(币值= > 50');
($ i = 0;$ i < 2000000;$ + +){
connect_mysql美元->插入($params);
如果($ i = 100000 = 0){
connect_mysql美元->查询('commit);
connect_mysql美元->查询('begin);
}
}
connect_mysql美元->查询('commit);
回声日期(h:I:S);
第三种方法是使用优化的SQL语句:拼接SQL语句,使用INSERT到表()、值()、()、(),然后如果字符串太长,再插入一次。
你需要配置MySQL运行在MySQL命令行:设置全局max_allowed_packet = 2 * 1024 * 1024 * 10;时间:11:24:06 11:25:06;
它只需1分钟插入200W条测试数据!代码如下:
为SQL插入twenty_million(值)值;
($ i = 0;$ i < 2000000;$ + +){
为SQL。=('50 '),;
};
为SQL = substr($ SQL 0,strlen($ SQL)- 1);
connect_mysql美元->查询($ SQL);
最后得出结论,第一种方法在插入海量数据时是最差的,第二种方法在实际中得到了广泛的应用。这第三种方法更适合于插入测试数据或其他低要求,而且速度很快。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。