最初の方法: insert into を使用します。コードは次のとおりです:
最後の表示は 23:25:05 01:32:05 で、これは 2 時間以上かかったという意味です!
2 番目の方法: トランザクション送信を使用してデータベースにバッチ挿入します (100,000 アイテムごとに送信)。最終的に表示される時間は 22:56:13 23:04:00、合計 8 分 13 秒です。は次のとおりです:
3 番目の方法: 最適化された SQL ステートメントを使用します。SQL ステートメントを結合し、insert into table () 値 ()、()、()、() を使用し、文字列が長すぎる場合はそれらをすべて一度に挿入します。長いです、
MYSQL を設定し、mysql コマンドラインで実行する必要があります: set global max_allowed_packet = 2*1024*1024*10; 消費時間は: 11:24:06 11:25:06;
200万個のテストデータを挿入するのに1分しかかかりませんでした。コードは次のとおりです:
最後に、要約すると、最初の方法は、大量のデータを挿入する場合には間違いなく最悪ですが、2 番目の方法は実際のアプリケーションでより広く使用されており、テスト データやその他の要件が低い場合には 3 番目の方法の方が適しています。本当に速いです。
一度に 1000 個のデータを挿入することは、1 つのデータを挿入するよりも N 倍速くなります。
table1 value (v1, v2, v3), (x1, x2,x3) ,....
の代わりに
table1 の値 (v1, v2, v3) に挿入;
table1 の値 (x1,x2,x3) に挿入;
このように 1 つずつ挿入してください
理解できます
参考文献: Niuren Xiaohai
内容にカンマが含まれる場合は、フィールド全体を引用符で囲むことができます。詳細については、百度百科のcsvを参照してください。
例: フィールド 1、「フィールド 2 に、」、フィールド 3
実際、重要なのは PHP が CSV を読み取るためのルールにあります。CSV ではカンマを使用する必要はありませんが、セミコロンなどの他の記号を使用することもできます。 。
対応するPHPの読み取りルールを変更するだけです。
http://www.bkjia.com/PHPjc/840763.html