PHPは百万級データをCSVまたはEXCELファイルに迅速にエクスポートする
前言:多くの場合、データ統計のため、私たちはデータベースのデータをExcelなどのファイルにエクスポートして、データ人員が表示するために、データセットが大きくなければ、実は簡単です.しかし、大数セットのエクスポートでは、さまざまなパフォーマンスの問題が考慮されます.ここでは、データベースから100万個のデータをエクスポートする例では、エクスポート時間が20秒にすぎず、値の学習の大きなデータエクスポート方法です.
目次
一、構想を導き出す
二、ソースコードのエクスポート
三、百万件のテストデータを迅速に生成する
一、構想を導き出すサーバメモリ を考慮する必要がある.プログラム実行の最大時間 を考慮する必要がある. BOMヘッダが欠けて文字化けした処理 エクスポート数が大きすぎる場合は、ループエクスポートを推奨します.ここでは、ループごとに1万件をエクスポートする例では、ループ100回で をすべてエクスポートできます.
二、ソースコードのエクスポート以下のソースコードは、データベース情報を独自に変更する を使用することができる.親測定は100万個のデータ、3つのフィールドを導出したが、20秒 であった.サーバハードウェアが一度に1万個のデータを読み取ることをサポートしない場合、サイクル数を増加することができ、導出数を 減少する.
三、百万件のテストデータを迅速に生成するここではデータベースのワームコピーコマンド を推奨する.まず表を作成した後、2つのテストデータを挿入した後、以下のコマンドを何回か実行すれば、 を指数的に増加することができる.
目次
一、構想を導き出す
二、ソースコードのエクスポート
三、百万件のテストデータを迅速に生成する
一、構想を導き出す
二、ソースコードのエクスポート
query($sql);
$result = $pdostatement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $item) {
fputcsv($fp, $item);
}
// 1
ob_flush();
flush();
}
三、百万件のテストデータを迅速に生成する
INSERT INTO hd_test (uname,age,city) SELECT uname,age,city FROM hd_test;