写入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