PHP大批量插入数据库的3种方法和速度对比

 更新时间:2014年07月08日 08:56:23   投稿:junjie  
这篇文章主要介绍了PHP大批量插入数据库的3种方法和速度对比,3种方法分别使用普通insert语句、insert into语句和事务提交,需要的朋友可以参考下

第一种方法:使用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实现中文转拼音的方法

    这篇文章运用简单易懂的例子给大家介绍PHP将中文转换成拼音的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2023-11-11
  • PHP开发之用微信远程遥控服务器

    PHP开发之用微信远程遥控服务器

    微信公众好的开发很火,小程序更火。小编给大家分享一个PHP开发之用微信远程遥控服务器的实例代码,需要的朋友参考下
    2018-01-01
  • PHP7 安装event扩展的实现方法

    PHP7 安装event扩展的实现方法

    这篇文章主要介绍了PHP7 安装event扩展的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • thinkPHP实现上传图片及生成缩略图功能示例

    thinkPHP实现上传图片及生成缩略图功能示例

    这篇文章主要介绍了thinkPHP实现上传图片及生成缩略图功能,结合实例形式分析了thinkPHP图片上传及缩略图设置、生成、保存、数据库写入等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • destoon实现不同会员组公司名称显示不同的颜色的方法

    destoon实现不同会员组公司名称显示不同的颜色的方法

    这篇文章主要介绍了destoon实现不同会员组公司名称显示不同的颜色的方法,是非常实用的方法,代码简洁思路简单,需要的朋友可以参考下
    2014-08-08
  • php 目录遍历、删除 函数的使用介绍

    php 目录遍历、删除 函数的使用介绍

    本篇文章介绍了,php 目录遍历、删除 函数的使用分析。需要的朋友参考下
    2013-04-04
  • ThinkPHP的标签制作实例讲解

    ThinkPHP的标签制作实例讲解

    这篇文章主要介绍了ThinkPHP的标签制作实例讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • PHP设计模式(观察者模式)

    PHP设计模式(观察者模式)

    这篇文章主要介绍了PHP设计模式(观察者模式),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • apache php mysql开发环境安装教程

    apache php mysql开发环境安装教程

    这篇文章主要为大家详细介绍了apache php mysql开发环境安装教程,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • PHP读取文件的常见几种方法

    PHP读取文件的常见几种方法

    这篇文章主要介绍了PHP读取文件的常见几种方法,本文总结了PHP中读取文件的方法,每一个都附有使用例子等,需要的朋友可以参考下。
    2016-11-11

最新评论