私はMySQLデータベースに挿入したい10.000レコードのリストを持っています。データベースの高速PHPにデータを挿入しますか?
私はforeachと簡単なINSERT INTOで挿入しようとしましたが、挿入するのに時間がかかりました。
これらの行をもっと速く挿入する方法はありますか?
$contents = file_get_contents("table.txt.001");
$pollfields = explode(',', $contents);
foreach ($pollfields as $key) {
$query = "INSERT INTO `table` (`id`, `name`) VALUES (NULL, '$key')";
mysqli_query($conn, $query) or trigger_error(mysqli_error()." in ".$query);
}
私はこの問題は、彼が使用foreachの場合、たとえば次の5を挿入するたびに、知っている方法ですので
"INSERT INTO `table` (`id`, `name`) VALUES (NULL, '$key'),(NULL, '$key'),(NULL, '$key')";
などの複数の値をputingについてsomehtingを読みました。
http://php.net/manual/en/function.array-chunk.php – CBroe
プリペアドステートメントを使用すると、パフォーマンスが向上します。 – Juan
それがcsvファイルからロードされている場合、[LOAD DATA INFILE](https://dev.mysql.com/doc/refman/5.7/en/load-data.html) –