PHP は Excel データを mysql 最適化にインポートします
私のニーズは次のとおりです
1. クライアントからアップロード
2. 各 Excel のデータ量は通常 30,000 個以上です
私の質問は : インポート一度にそんなに多くのデータをmysqlに入れるのですか?
-----解決策---------
一度限りのインポートは機能しない可能性があります。バッチでインポートしてください。
------解決策---------
サイズが制限を超える場合、
インポート用に SQL スクリプトに変換することを検討できます。
------解決策---------
それぞれ30,000以上あるので、メモリ内のレコードが多すぎるため、変換が失敗するという記事をいくつか読んだようですが、私自身はまだテストしていません。
------解決策----------------------
これ、これは本当にわかりません、私は聞いていませんでした、私が言ったように、それはまだこのようになる可能性があります、ただ待って調べてください~~
------解決策------------------
これはテーブルの構造と内容によって異なります。データは実際にはそうです。複数のフィールドがある場合、作成する SQL ステートメントは非常に大きくなります。このように、SQL 構成ファイル内のステートメントの長さと、フィールドが使用するメモリ制限を調整する必要があります。実際には比較的小さいので、一般的には問題ありません。上記はすべてのデータを 1 つの SQL に結合するためのものであり、単一の SQL を実行すると柔軟性は高まりますが、効率は低くなります。
------解決策------------------
この問題は明らかです。EXECL ファイルを保存してください。をディスクにコピーし、MQ を使用してタスクをコンシューマ プロセスに非同期で渡します。コンシューマ プロセスがオフラインで EXECL をゆっくりと読み取り、それをデータベースにゆっくりと挿入し、完了時にデータベース内でマークします。
これを PHP に直接実行させるのは不可能です。プログラミングができる人に尋ねても、そんな甘い答えは教えてくれません。
------解決策------------------
個人的には、CSVに変換してからできると思います一度にすべてを読み取ります。一定の行数を取得して、