最近要批量添加几十万的数据作为测试数据,为了快速添加,采用了text的方式批量往数据库里添加数据。
<?php
$t=time();
set_time_limit(1000);
$myFile="./insert.txt";
$data=fopen($myFile,'w');
$companyId = ['1','2','3'];
//echo 1;
if($data){
$n=2000000;
$i =1000000;
while($n<4000000)
{
$type = rand(1,6);
$campus_company_id = array_rand($companyId);
$course_company_id = array_rand($companyId);
$order_id = rand(1,1000000);
$amount = rand(100,10000000);
$creat_time = time()+$i;
$i++;
$n++;
$sql="$n\t$companyId[$campus_company_id]\t$companyId[$course_company_id]\t$creat_time\t$order_id\t$amount\t$type";//用的\t,没用逗号
fwrite($data,$sql."\r\n");
}
echo"写入成功,耗时:",time()-$t;
}
这时候text文档已经生成好了,数据也在里面了。
最后一步在数据库里执行命令:
LOAD DATA LOCAL INFILE '/Users/dava/Documents/project/insert.txt' INTO TABLE test_1
完事~
网友评论