大量のデータのインポートとエクスポートを実装する PHP+MySQL の概要
しばらく前に、テストのために実稼働環境からテスト サーバーにデータを転送する必要がありました。特定のアカウントのデータのみをインポートする必要があるため、データを SQL ステートメントに組み立てて SQL ファイルにエクスポートし、それをテスト サーバーに転送して MySQL にインポートするスクリプトを作成することを考えました。想像力は美しいですが、その過程は苦痛です。
PHP スクリプトの処理
1 スクリプトの考え方は、特定のアカウント データをクエリし、それを組み立てて SQL テキスト データに結合することです。ここで、一部のフィールドに ' (一重引用符)、" (二重引用符)、` (左上隅から 2 番目の文字) などの不正な文字が含まれているため、クエリ値をフィルタリングする必要があることに注意してください。キーボード). これらの記号は一緒に結合されます。SQL ステートメントを作成するときに、クロージャーのもう一方の端が見つからないため値が変更され、SQL ステートメントの結合で問題が発生します。したがって、これらの文字を置き換える必要があります。 str_replace() 関数を使用してこれらのシンボルを空に設定します。
2、is_numeri 関数を使用して、値が数値型の構造体かどうかを判断します。そうである場合は、「」を追加します。 (二重引用符) ですが、is_numeri には問題があります。一部の値には文字 e が含まれており、true も返されます。
これは実際には問題です。 "" を追加しないと値を MySQL に挿入できません。
その後、値を二重引用符で囲む必要があるかどうかを判断するために is_float() 関数と is_string() 関数を同時に追加しました。
3. エクスポートされるデータの量が比較的多いため、4 つの PHP プロセスを実行するように分割し、1 つのプロセスで 10,000 のユーザー データを実行するため、時間を大幅に節約できます。ただし、複数のプロセスが同時にテキストファイルを書き込むとデータ損失が発生する可能性があるため、保存されている SQL テキストも区別する必要があることに注意してください (後で気づき、データの復元に多くの時間を費やしました)。
##4、tar -xcvf コマンドを使用して、SQL ファイル (7G ファイル) を圧縮してパッケージ化します。700 M 以上に圧縮でき、圧縮効果は依然として良好です。 PHP ビデオ チュートリアル
MySQL へのデータのインポート1、データ量が比較的大きいため、実行するためにいくつかのプロセスも分割しました。これらの大きな SQL ファイルをインポートするには、MySQL ソース コマンドを使用しました。
mysql>source D:/www/sql/data.sql;
source c:/1.sql; source c:/2.sql;
発生状況:
## 確認したところ、原因は次のとおりです。 1 つのテーブル内のデータの量が多いです。一般に、mysql は 1 つのテーブルに大量のデータを含む SQL を制限します。
解決策:
変更を加えます。 max_allowed_packet パケット サイズ
オプション 1、一時的な変更: コマンド set global max_allowed_packet = size; を入力します (ここでのサイズはバイト単位でのみ入力できることに注意してください。 mysql サービスを再起動すると、設定が無効になります。 )オプション 2、my.ini ファイルを変更し、[mysqld] セクションに max_allowed_packet=size を追加します2
. ソース コマンドは位置レコードを記録できないため、この方法では、エラー メッセージが表示されるため、後で Linux シェル メソッドに切り替えて、次のようにをインポートします。 sql.sh
#!/bin/bash p="d:backup/sql.sql" //绝对路径 User='abc' Password='123' mysql -u $User -p$Password -e "source $f" 2>err1.txt;//输出错误到文件中,方便后面查询 echo 'OK!'
mysqlビデオチュートリアル
以上が大量のデータのインポートとエクスポートを実装する PHP+MySQL の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

phpmyadminを使用してmysqlに接続する方法は? phpmyadminにアクセスするためのURLは、通常、http:// localhost/phpmyadminまたはhttp:// [サーバーIPアドレス]/phpMyAdminです。 MySQLユーザー名とパスワードを入力します。接続するデータベースを選択します。 [接続]ボタンをクリックして、接続を確立します。
