ホームページ  >  記事  >  バックエンド開発  >  CSV データをインポートする Web ページを作成する場合、データが数十、数百万ある場合、どのような解決策を使用する必要があるか、またどのような問題を考慮する必要がありますか?

CSV データをインポートする Web ページを作成する場合、データが数十、数百万ある場合、どのような解決策を使用する必要があるか、またどのような問題を考慮する必要がありますか?

WBOY
WBOYオリジナル
2016-12-05 13:44:201441ブラウズ

PHP を使用してタイトルのような Web ページを作成したいのですが、初心者には簡単なアップロードを行ったのですが、今では数百万個のデータを処理する必要があります。データのインポートの問題を解決するにはどうすればよいですか。 Python は知っていますが、Python は面倒なので PHP を使用する予定です。アドバイスをお願いします〜

返信内容:

PHP を使用してタイトルのような Web ページを作成したいのですが、初心者には簡単なアップロードを行ったのですが、今では数百万個のデータを処理する必要があります。データのインポートの問題を解決するにはどうすればよいですか。 Python は知っていますが、Python は面倒なので PHP を使用する予定です。アドバイスをお願いします〜

効率の問題の場合。文字列への結合は、>transaction>> のような insert into...value()、value() と似ています。注意すべき点は、一度に大量のデータを挿入することです。mysql またはその他のデータベースに一度に挿入できるデータの最大量の構成を変更する必要があります。試してみたところ、一度に 100,000 個の項目を挿入するのに約 4 秒かかります (フィールドが 5 つあるテーブルの場合)

データ量が比較的大きいため、ajax を使用してアップロード インターフェイスを繰り返しリクエストし、リクエストごとに異なるパラメーターを渡します。例:

www.xxx.com/upload.php?offset=0&length=1000

www.xxx.com/upload.php?offset=1000&length=1000

これによって PHP スクリプトが時間切れになることはありません。

挿入ステートメントの最適化とテーブル構造には大きな要件があり、そうでない場合は、データ + トランザクション + 順序付けされたデータをマージする方法の方が効率的になります。

まず CSV テーブルをサーバーにアップロードします。

次に、PHP は CSV テーブルを MySQL データベースにインポートします。

リーリー

非同期、何百万もの同期には耐えられません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。