好的,所以我得到了大约 100k-1M 行的文本,我总是将它们导入数据库。我使用的代码如下:
$lines = new SplFileObject('/home/file.txt');
while(!$lines->eof()) {
$lines->next(); //Skipping first line
$row = explode(',',$lines);
for($i = 0; $i<4; $i++){
if(!isset($row[$i])){
$row[$i] = null;
}
}
$y = (float) $row[1];
$z = (float) $row[2];
$load_query = "INSERT IGNORE INTO new (datetime_gmt,field2,field3)
VALUES ('".$row[0]."','".$y."','".$z."');";
if(!$mysqli->query($load_query)){
die("CANNOT EXECUTE".$mysqli->error."\n");
}
}
$lines = null;
但是,它需要很长时间。有没有更快的方法来做到这一点,还是我坚持使用这种方法?
PS。我不想使用 MySQL 的“INSERT DATA INFILE”。