PHPは百万級データをCSVまたはEXCELファイルに迅速にエクスポートする


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

    三、百万件のテストデータを迅速に生成する
  • ここではデータベースのワームコピーコマンド
  • を推奨する.
  • まず表を作成した後、2つのテストデータを挿入した後、以下のコマンドを何回か実行すれば、
  • を指数的に増加することができる.
    INSERT INTO hd_test (uname,age,city) SELECT uname,age,city FROM hd_test;