您的位置:首页 > 编程语言 > PHP开发

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

2016-11-14 15:34 405 查看
 1.PHP代码

[php] view
plain copy

 





<?php   

$t=mktime();   

set_time_limit(1000);   

$myFile="c:/insert.sql";   

$fhandler=fopen($myFile,'wb');   

if($fhandler){   

  

$i=0;   

while($i<1000000)//1,0000,000   

{   

$i++;   

$sql="$i\t'bb'";   

fwrite($fhandler,$sql."\r\n");   

}   

echo"写入成功,耗时:",mktime()-$t;   

}   

//注意字段不再以逗号分割,以\t分割,条记录以\r\n分割。  



2.在MySQL中运行代码代码

[sql] view
plain copy

 





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

3.运行结果(12秒)

[sql] view
plain copy

 





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

受影响的行: 1000000  

时间: 12.855ms  

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

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

   越多检查就越多。

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

自己测试过的结果。主键为UUID设置200W数据大概时间为20min左右.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: