1.php代码
<?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中运行代码代码
LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
3.运行结果(12秒)
[SQL] LOAD DATA local INFILE 'c:/insert.sql' INTO TABLE `cache`(`id`, `name`);
受影响的行: 1000000
时间: 12.855ms
注意:在插入大数据之前先将表的主键、唯一健删除,不然每插入一条数据都会和之前的数据进行对比是否重复
比如说之前有10W条数据、现在你需要再插入50W条数据,就是50Wx50W次重复检查。想想这样的话,数据
越多检查就越多。
数据新增完以后再进行设置主键、唯一健。
自己测试过的结果。主键为UUID设置200W数据大概时间为20min左右.