ホームページ >バックエンド開発 >PHPチュートリアル >PHP が大量のデータを mysql パフォーマンス最適化にインポートするヒント、mysql パフォーマンス最適化_PHP チュートリアル
この記事の例では、大量のデータを PHP から MySQL にインポートするためのパフォーマンス最適化テクニックについて説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
mysql では、php を組み合わせて、いくつかのファイルを mysql にインポートします。ここでは、インポート時の 15,000 レコードの分析と最適化を共有します。
以前にもいくつかの記事がありましたが、最近、Tiandi が友人の電話番号を数える小さなプロジェクトを手伝っていると言われていました。そのたびに、パッケージ化された電話番号がニーズに応じてデータベースからランダムに生成され、人々が保持していました。これらの電話番号に電話して製品を宣伝します(そのような行為は少し軽蔑されます)。でも、友達が助けを求めてきたら、私たちも助けないといけないですよね?プログラムは2週間前に完成し、テスト後に引き渡された。数日前、友人から電話があり、電話番号のインポートに毎日時間がかかっている、10,000 件のレコードをインポートするのに 30 分以上かかることがある、ということを改善する方法を見つけたいとのことでした。スピード。
データベースの構造は非常に単純で、1 つのフィールドには電話番号が格納され、もう 1 つのフィールドにはカテゴリが格納されていると考えられます。 . はそれぞれ、この電話がダイヤルされていないこと、この電話がダイヤルされていないことなどを表し、プログラム全体のロジックは次のようになります。
■電話番号が記載されたtxtファイルを受け取りました
■プログラムを通じてtxtファイルをmysqlにインポートします
■インポート時にtxtの電話番号がmysqlの電話番号と重複していないか確認し、重複していない場合は直接新規レコードを挿入してください。番号が属します。
インポート時にテキスト内の各電話番号を比較する必要があるため、プログラムに時間がかかることは間違いありません。この理由は今は脇に置いてください。この記事のタイトルは書き込み速度の最適化であるため、プログラムはいつ何を書きますか。入国記録について?上記のロジックから、データベースを照合する際、レコードが見つからない場合はデータベースへの書き込み操作が発生することがわかります (もちろん更新もカウントされますが、ここでは挿入のみについて説明します)。その後、上記のロジックをコードに変換します。ほぼ次のとおりです:
本当