php+mysqlでのデータのバッチ挿入に関連する問題

WBOY
リリース: 2016-06-13 13:39:13
オリジナル
761 人が閲覧しました

php+mysql バッチ挿入データの問題
データをバッチインポートするコードを書きました。
プロセスは次のようになります。まずデータ テーブル内のデータを読み取り、それから新しいテーブルに挿入します。
初めて全部読んでから、まとめて挿入しました。結果は間違っています。データ量が多すぎるためです。

2 回目はコードを変更し、最初に最初の 150 項目をインポートし、ユーザーが「続行」をクリックすると次の 150 項目がインポートされます。これを繰り返すと、通常は 450 ~ 600 個の項目がインポートされることがわかります。アイテムがインポートされると、エラーが報告されます。 300 個のアイテムをインポートした後、数秒待ってから「続行」をクリックします。インポートは正常に行われます。

エビさん、あるデータ テーブルから大量のデータを読み取り、それを別のデータ テーブルにインポートするというこの問題を解決する良い方法はありますか? ? ?

-----解決策---------
php.ini ファイルで max_execution_time 項目を見つけ、値をより大きな値に変更します
データのインポートにかかるおおよその時間を見積もり、対応する値を設定します。
これは私が少し前にやったことで、30000 に設定しました。
------解決策------------------
一般に、mysql コマンド ラインを使用してエクスポートし、次に mysql コマンド ラインを使用してインポートします (mysqldump、mysqlimport、source...)
または、phpmyadmin コードを使用してエクスポートとインポートを実行します (大規模なファイルが存在する場合)。テキスト、php.ini、memory_limit、upload_max_filesize のいくつかの設定に注意してください。)
------解決策----------------------
mysql に接続し、挿入操作を実行して終了します。間に合うように。
これは、mysql 接続の数に関係している可能性があります。
------解決策---------
学びましょう! !
------解決策---------
学ぶ

------解決策------------------
これは起こらないはずです。
通常、
を達成するには、PHP タイムアウトを 0 に設定し、読み取られるたびに挿入します。
ただし、ループするときは、メモリを制御することを忘れないでください。
さらに、レコード内に大きなフィールドがある場合は、SQL ファイルを生成してから、ソースを使用してインポートすることをお勧めします。ループを使用して、最大 10,000 件のレコードを処理しましたが、基本的には 1 回で完了します。何百ものエントリーで間違いを犯したとしても、そんなことは絶対に起こりません。

------解決策------------------
MySQL Enterprise Edition マネージャーを試してください。これはサポート操作です大量のデータを含む

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!