ホームページ > バックエンド開発 > PHPチュートリアル > PHP が Excel データを mysql にインポートして最適化される、その解決方法

PHP が Excel データを mysql にインポートして最適化される、その解決方法

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

PHP は Excel データを mysql 最適化にインポートします
私のニーズは次のとおりです
1. クライアントからアップロード
2. 各 Excel のデータ量は通常 30,000 個以上です
私の質問は : インポート一度にそんなに多くのデータをmysqlに入れるのですか?




-----解決策---------
一度限りのインポートは機能しない可能性があります。バッチでインポートしてください。
------解決策---------

サイズが制限を超える場合、

インポート用に SQL スクリプトに変換することを検討できます。
------解決策---------
それぞれ30,000以上あるので、メモリ内のレコードが多すぎるため、変換が失敗するという記事をいくつか読んだようですが、私自身はまだテストしていません。
------解決策----------------------
これ、これは本当にわかりません、私は聞いていませんでした、私が言ったように、それはまだこのようになる可能性があります、ただ待って調べてください~~
------解決策------------------
これはテーブルの構造と内容によって異なります。データは実際にはそうです。複数のフィールドがある場合、作成する SQL ステートメントは非常に大きくなります。このように、SQL 構成ファイル内のステートメントの長さと、フィールドが使用するメモリ制限を調整する必要があります。実際には比較的小さいので、一般的には問題ありません。上記はすべてのデータを 1 つの SQL に結合するためのものであり、単一の SQL を実行すると柔軟性は高まりますが、効率は低くなります。
------解決策------------------
この問題は明らかです。EXECL ファイルを保存してください。をディスクにコピーし、MQ を使用してタスクをコンシューマ プロセスに非同期で渡します。コンシューマ プロセスがオフラインで EXECL をゆっくりと読み取り、それをデータベースにゆっくりと挿入し、完了時にデータベース内でマークします。

これを PHP に直接実行させるのは不可能です。プログラミングができる人に尋ねても、そんな甘い答えは教えてくれません。
------解決策------------------
個人的には、CSVに変換してからできると思います一度にすべてを読み取ります。一定の行数を取得して、

をループで読み取ります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート