行を反復処理してデータベースに挿入するために、まだ「for」または「while」ループを使用していますか? .csv ファイルの読み取りと MySQL データベースへのアップロードに別のコードをまだ作成していますか?
MySQL が提供する「LOAD DATA」ステートメントを使用して、線形ロジックに「NO」と言います。行数を最小限に抑え、パフォーマンスを大幅に向上させるために、コードを変更する準備をしてください。
MySql は LOAD DATA ステートメントを提供します。これは、非常に最小限のコードでテキスト ファイルからデータを読み取り、テーブルに挿入する非常に高速な方法です。
MySQL の公式ドキュメントによると、LOAD DATA ステートメントはファイルからデータを非常に高速に読み取るために使用され、「」でデータベースを複数回ヒットする代わりに、1 回のクエリでこのデータをテーブルに挿入できます。 INSERT INTO」クエリ。
MySQL はステートメントも提供します -> 「SELECT…INTO OUTFILE」は、「LOAD DATA」の動作とはまったく逆の動作を行い、データをテーブルからファイルに読み取ります。
MySql によって提供される mysqlimport ユーティリティは、サーバー上で LOAD DATA ステートメントを内部的に呼び出してデータをインポートします。 ?使い方は? 上記の要点スニペットは、一般的なデータ読み込みステートメントを示しています。利用可能なオプションはすべて上記のコードに記載されています。 ここでは、単に .csv ファイルを読み取り、その行を互換性のあるテーブルに挿入する簡単な例に焦点を当ててみましょう。 簡単な例:
リーリー
上記のステートメントは MySql レベルで実行されるため、ソース ファイルはインポートするためにクライアントからサーバーにコピーされます。許可エラーの場合は、これにより、セキュリティ上の問題がいくつか発生します。このコードを使用している間、クライアントとサーバーの接続が安全であることを確認する必要があります。
MySql 8.0 では、LOCAL を使用する機能はデフォルトで False に設定されています。サーバーとクライアントは LOCAL を許可するように設定する必要があるため、一部のユーザーは許可エラーが発生する可能性があります。
local_infile:を有効にして許可をオーバーライドする必要があります
リーリー
注: このフラグをオーバーライドすることはセキュリティ ソリューションではなく、リスクを受け入れることを承認するものです。詳細については、このドキュメントを参照してください。??結論 MySql LOAD DATA ステートメントは、非常に短い時間でファイルを読み取るために使用されます。
このコードを任意のバックエンド API で使用して、ソース ファイルを提供できます。
ソース ファイルは任意のテキスト ファイルにすることができますが、この例では .csv を使用しています。
LOAD DATA LOCALはMySql経由でソースファイルをサーバーにコピーするため、サーバー側でセキュリティ対策を実装する必要があります。
mysqlimportユーティリティは内部で LOAD DATA ステートメントを使用します。
ステートメントにIGNORE 1 LINESを追加すると、CSV のヘッダーを無視できます。
?参照 公式ドキュメント以上がCSV ファイルのデータを MySql テーブルに一括アップロードするにはどうすればよいですか? LOAD DATA を使用する非常に高速な方法です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。