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快速导入大量数据的实例方法相关推荐

  1. 文本导入ORACLE快速,Oracle批量导入文本文件快速的方法(sqlldr实现)

    前言 最近做项目的时候需要导入一批3000多万条的POI数据到Oracle数据库,简单的插入导入速度太慢,使用sqlldr 批量导入3000多万条数据花了20分钟左右,速度还可以,现在分享给大家,具体 ...

  2. 开发指南专题十五 JEECG微云快速开发平台EXCEL导入导出

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴!  开 ...

  3. python快速对比两个excel的数据是否一致

    python快速对比两个excel的数据是否一致 功能概述 导入包 封装函数 程序开始 功能概述 两个sheet里面的表头有部分不一致,但是数据对应的内容是一致的,因此需要匹配表格多的值是否一致. 输 ...

  4. 在MS CRM中使用Excel导入/导出的功能对数据进行批量处理

    在MicrosoftDynamics CRM中,如果你需要修改多条数据,比如对联络人的电子邮件进行修改,通常需要打开每一个联络人记录的表单,然后对其进行修改,然后保存并关闭表单.这样做非常的麻烦.我们 ...

  5. oracle 数据导入 mysql_将oracle的数据导入到mysql的三种方法

    为了生产库释放部分资源,需要将API模块迁移到MysqL中,及需要导数据. 尝试了oracle to MysqL工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠. 意外发现平时用的数据库 ...

  6. 怎样快速地迁移 MySQL 中的数据?

    我们通常会遇到这样的一个场景,就是需要将一个数据库的数据迁移到一个性能更加强悍的数据库服务器上.这个时候需要我们做的就是快速迁移数据库的数据. 那么,如何才能快速地迁移数据库中的数据呢?今天我们就来聊 ...

  7. oracle导入备份失败怎么办,ORACLE 数据备份、恢复以及导入时表空间不存在的解决方案...

    一.数据备份(导出) 1.exp命令导出dmp文件(exp -help查看帮助信息) 命令:exp username/userpasswd@orcl file=G:/test.dmp log=G:/t ...

  8. R语言导入、读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv、readr包、data.table

    R语言导入.读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv.readr包.data.table 目录 R语言导入.读取网络CSV数据(Read a CSV ...

  9. blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据

    blender 导出 obj 格式,3dsmax 导入3ds max obj 格式数据 blender 导出 3dsmax 导入

  10. 如何快速全面建立自己的大数据知识体系? 大数据 ETL 用户画像 机器学习 阅读232 作者经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据

    如何快速全面建立自己的大数据知识体系? 大数据 ETL 用户画像 机器学习 阅读232  作者经过研发多个大数据产品,将自己形成关于大数据知识体系的干货分享出来,希望给大家能够快速建立起大数据产品的体 ...

最新文章

  1. 5G将改变技术格局的8个原因(上)
  2. UIButton设置 textAlignment 属性的方法
  3. leetcode算法题--会议室★★
  4. android studio gradle 配置
  5. Java程序员从笨鸟到菜鸟之(八十一)细谈Spring(十)深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport
  6. tcpwrapper的使用方法
  7. python 粒子滤波目标追踪_Python实现基于相关滤波的单目标跟踪算法
  8. 震惊!printf 与scanf 不可告人的秘密
  9. 7-6 求整数段和 (10 分)
  10. 鸿蒙系统和汽车,华为鸿蒙系统和新日电动车,到底是什么关系?
  11. 【CV学习笔记】色彩空间
  12. linux系统下,我也用虚拟机——linux虚拟机随笔
  13. 通过3点计算出一元二次方程解析式
  14. IT计算机实习:JAVA实习报告范文(一)
  15. 行程单批量打印软件(eTerm航空电子客票行程单打印软件)
  16. 如何用电脑画平面坐标图_如何画坐标图?
  17. Car-t细胞治疗最新进展(2022年5月)
  18. 利用连按 5 下 Shift 漏洞破解 win7 开机密码(原理以及实现)
  19. KUBUNTU 10.04 的安装与配置详解
  20. 第二章 Binary Search

热门文章

  1. 调试 SAP Spartacus 服务器端渲染 SEO HTML Tag 生成逻辑的注意事项
  2. SAP Spartacus的版本机制
  3. 如何将SAP Spartacus的默认home页面替换成login页面 - ProtectedRoutesService
  4. SAP Spartacus user form去除嵌套label的side effect之一
  5. Angular form学习笔记
  6. SAP Spartacus BrowserPlatformLocation的初始化逻辑
  7. Angular component的一个例子
  8. 100行JavaScript代码实现JavaScript
  9. 一些我工作中经常使用的C4C ABSL代码片段
  10. how I can get expand tree for unit test