入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php+mysql中迅速插入百万条测试数据的方法

创建时间:2016-11-14 投稿人: 浏览次数:1777
 1.PHP代码

[php] view plain copy  在CODE上查看代码片派生到我的代码片
  1. <?php   
  2. $t=mktime();   
  3. set_time_limit(1000);   
  4. $myFile="c:/insert.sql";   
  5. $fhandler=fopen($myFile,"wb");   
  6. if($fhandler){   
  7.   
  8. $i=0;   
  9. while($i<1000000)//1,0000,000   
  10. {   
  11. $i++;   
  12. $sql="$i "bb"";   
  13. fwrite($fhandler,$sql." ");   
  14. }   
  15. echo"写入成功,耗时:",mktime()-$t;   
  16. }   
  17. //注意字段不再以逗号分割,以 分割,条记录以 分割。  


2.在MySQL中运行代码代码

[sql] view plain copy  在CODE上查看代码片派生到我的代码片
  1. LOAD DATA local INFILE "c:/insert.sql" INTO TABLE `cache`(`id`, `name`);   

3.运行结果(12秒)

[sql] view plain copy  在CODE上查看代码片派生到我的代码片
  1. [SQL] LOAD DATA local INFILE "c:/insert.sql" INTO TABLE `cache`(`id`, `name`);  
  2. 受影响的行: 1000000  
  3. 时间: 12.855ms  
  4. 注意:在插入大数据之前先将表的主键、唯一健删除,不然每插入一条数据都会和之前的数据进行对比是否重复

               比如说之前有10W条数据、现在你需要再插入50W条数据,就是50Wx50W次重复检查。想想这样的话,数据

       越多检查就越多。

    数据新增完以后再进行设置主键、唯一健。

    自己测试过的结果。主键为UUID设置200W数据大概时间为20min左右.


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。