1.使用insert into插入

  ini_set('max_execution_time','0');//限制超时时间,因为第一种时间较长,索性设为0不限制
  $pdo = new PDO("mysql:host=localhost;dbname=oradt_cloud1520","root","123456");

   for($i=0; $i<100000; $i++){

    $str = strrand(32);

  $pdo -> exec("insert into scan_card_picture(uuid,account_id,handle_state,created_time,status,from_account,accuracy,ifupdate) values('".$str."','A7kVzZYK2EyAXm2jIVVpF0ls4M2LS00000001044','handled','2015-09-17 07:55:10','active','admin@qq.com','90',1)");
  }

  使用这种方法,时间大概得1个多小时,慢的很离谱的,实在没办法,就使用了第二种。

2. ini_set('max_execution_time','0');
  $pdo = new PDO("mysql:host=localhost;dbname=oradt_cloud1520","root","123456");

  $sql = "insert into scan_card_picture(uuid,account_id,handle_state,created_time,status,from_account,accuracy,ifupdate) values";

  for($i=0; $i<100000; $i++){
    $str = strrand(32);
    $sql .="('".$str."','A7kVzZYK2EyAXm2jIVVpF0ls4M2LS00000001044','handled','2015-09-17 07:55:10','active','admin@qq.com','90',1),";
  }
  $sql = substr($sql,0,strlen($sql)-1);
  var_dump($sql);
  if($pdo -> exec($sql)){
    echo "插入成功!";
    echo $pdo -> lastinsertid();
  }

  使用这种方法,添加10万条时间也就是一分钟吧。肯能运行过程中会报错PDO::exec(): MySQL server has gone away ;可以在mysql控制台里面set global max_allowed_packet=2*1024*1024*10;  (详细参考http://www.cnblogs.com/zlx7/p/4763207.html)

3.网上查的还可以使用事物提交(每10条提交一次都可以,但是时间没有第二种快),大家可以自己试试。。

  

mysql+php+pdo批量添加大数据的更多相关文章

  1. ASP.NET MVC用存储过程批量添加修改数据

    用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的 ...

  2. Java使用Mysql数据库实现批量添加数据

    EmployeeDao.java //批处理添加数据 public int saveEmploeeBatch(){ int row = 0; try{ con = DBCon.getConn(); S ...

  3. python mysql curros.executemany 批量添加

    #添加的表结构字段分辨是(id,title,summary,visits,accountName,grabTime) #其中id,是int自增主键,在添加操作的时候,不需要对id进行操作 conn = ...

  4. Mysql使用存储过程快速添加百万数据

    前言 为了体现不加索引和添加索引的区别,需要使用百万级的数据,但是百万数据的表,如果使用一条条添加,特别繁琐又麻烦,这里使用存储过程快速添加数据,用时大概4个小时. 创建一个用户表 CREATE TA ...

  5. .Net批量插入数据到SQLServer数据库,System.Data.SqlClient.SqlBulkCopy类批量插入大数据到数据库

    批量的的数据导入数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 采用SqlBulkCopy来处理存储数据.SqlBulkCopy存储大批量的数据非常的高效,将内存中的数据表直接的一次性的存储 ...

  6. ArcEngine批量添加XY数据

    使用ArcGIS Desktop “添加XY数据”或者“创建XY事件图层”工具 可以导入Excel坐标数据,生成临时图层并添加至ArcMap.ArcGlobe或者ArcScene中.在ArcEngin ...

  7. spring MVC 后端 接收 前端 批量添加的数据(简单示例)

    第一种方式:(使用ajax的方式) 前端代码: <%@ page contentType="text/html;charset=UTF-8" language="j ...

  8. mysql在线修改表结构大数据表的风险与解决办法归纳

    整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...

  9. 数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳

    互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需要我来考虑,虽然我们没 ...

随机推荐

  1. Draw2d中的布局管理器Layout比较

    最近在研究Eclipse中的GEF开发,在跟着GEF-whole-upload教程做一个GEF应用程序的例子时,发现Figure上的控件无法显示,谷歌了很久也没找到解决方案,最后终于发现是Layout ...

  2. PHP函数参数的引用传递和值传递

    函数的参数传递有两种方式 1,值传递 常见的 test($param)  方式就是值传递,在函数内部修改$param,不会影响外部变量$param的值 2,引用传递 参数是引用传递的方式,此时函数内部 ...

  3. WPF下YUV播放的D3D解决方案

    http://blog.csdn.net/yangyy9611/article/details/17464133

  4. java中的File.separator

    前些天遇到一个问题,困扰了好久,现在终于解决了. 问题:上传的图片不能正确显示. 我的开发环境是在Windows下,工程在Windows下能正常部署,上传的图片也可以正常的显 示.但是把工程部署在服务 ...

  5. Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法

    我的Oracle 10g版本是10.2.0.1.0,(10.1同理)选择高级安装,提示“程序异常终止,发生未知错误”. 1.修改Oracle 10G\database\stage\prereq\db\ ...

  6. 对于C++中const & T operator= 的一点思考

    一个正常的assignment操作符的声明是这样的. const elmentType & elmentType::operator=(const elmentType &rhs) 这 ...

  7. C# 伪造 referer 提交数据

    private string SendRequest(string account, string cardNumber, string cardPass) { string targetUrl = ...

  8. Invert Binary Tree 解答

    Quetion Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 Solution 1 -- R ...

  9. poj 3301 Texas Trip(几何+三分)

    Description After a day trip with his friend Dick, Harry noticed a strange pattern of tiny holes in ...

  10. 一款超出你想象的代码审阅软件understand

    看源码人们一般会想到source insight这款软件可是这款软件目前只支持windows平台,那如果我想在Linux平台上审阅代码呢, 没关系还有一款强大的软件understand,这款软件能够生 ...