今天打算学习一下百万级数据的查询,但是心想上哪找百万的数据呢,索性脚本填吧!第一反应是用while or for ,尝试了一下,太慢了(老长时间了),时间就是金钱啊,然后就找了到了这个办法
LOAD DATA LOCAL INFILE A INTO TABLE B
A 文件名
B 数据库字段名字
然后就开始往A里面写文件了,写文件花了5s,代码如下
$t=time(); set_time_limit(1000); $myFile="./insert.txt"; $data=fopen($myFile,'wb'); if($data){ $i=0; while($i<1000000) { $type = rand(1,2); $i++; $sql="$i\t'我是第".$i."个'\t'".time()."'\t$type";//用的\t,没用逗号 fwrite($data,$sql."\r\n"); } echo"写入成功,耗时:",time()-$t; }
接着就在mysql里面执行了 上边的命令
LOAD DATA LOCAL INFILE './insert.sql' INTO TABLE data (id,name,ctime,type)
1000000 rows affected in 4s 738ms
完事~~~~~~~~~~~