あなただけのPDOは良い習慣である使用次..
<?php
try{
$handler = fopen('pathtoFile','r');
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO YOURTABLE(firstname, lastname, email) VALUES (:firstname, :lastname, :email)");
$stmt->bindParam(':firstname', $firstname);
$stmt->bindParam(':lastname', $lastname);
$stmt->bindParam(':email', $email);
while(($row = fgetcsv($handler,1000)) !== FALSE){
// insert a row
$firstname = $row[0];
$lastname = $row[1];
$email = $row[2];
$stmt->execute();
}
} catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
を行うことができます...あなたはそれがどのように速くしてみてください。あなたのCSVに50,000以上のスクリプトがない限り、私はあなたに共有しますが、あなたが望むものとして完全に動作します。
CSVファイルがそれほど大きくない場合は、LOAD DATA INFILEを使用する必要はありません。特に、CSVからフェッチしている間にデータを挿入する前に余分な作業をしたい場合。
私はいつも考えているのは、テーブルがディスクから読み込み速度が速いということです。言い換えれば、あなたは道を離れて関係を築くことができ、SQLで操作を行うことができます。私はファイルを取得するためにカールのスクリプトを実行しているcronジョブでDenckerの答えを調べることをお勧めします。 – nerdlyist
データベースの種類を指定してください:mysql、oracle、ms sqlserverなど – Barry