写入1000万数据到数据库

<?php   
header('Content-type:text/html;charset=utf-8;');
date_default_timezone_set("PRC");
    $t=time();   
    set_time_limit(0);   
    $myFile="./1.sql";   
    $fhandler=fopen($myFile,'wb');   
    if($fhandler){   
      
    $i=0;   
    while($i<10000000)//1,0000,000   
    {   
    $i++;   
    $sql="$i\t'bb'";   
    fwrite($fhandler,$sql."\r\n");   
    }   
    echo"写入成功,耗时:",time()-$t;   
    }   
    //注意字段不再以逗号分割,以\t分割,条记录以\r\n分割。  

 2.在MySQL中运行代码代码

    LOAD DATA local INFILE 'c:/1.sql' INTO TABLE `cache`(`id`, `name`);   

 

注意:在插入大数据之前先将表的主键、唯一健删除,不然每插入一条数据都会和之前的数据进行对比是否重复

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

   越多检查就越多。

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

自己测试过的结果。

 

[SQL]LOAD DATA local INFILE 'D:/www/learn/1.sql' INTO TABLE `demo`(`id`, `name`);
受影响的行: 10000000
时间: 4.190s

 

posted @ 2017-03-03 19:41  ー個亽の江湖  阅读(154)  评论(0编辑  收藏  举报