sql >> データベース >  >> RDS >> Mysql

PHPスクリプトの最適なMYSQLクエリ番号は何ですか?

    私は自分を8歳未満に保つのが好きです。

    真剣に、しかし、それはかなり無意味です。仮に、1ページに800のクエリがある理由がある場合は、先に進んでそれを実行できます。 1ページあたりのクエリ数は、実行している内容に依存していることに気付くでしょう。ただし、通常の状況では、50を超えると驚くでしょう(最近では、どれだけのクエリがあるかを理解するのは難しい場合があります)。 DB呼び出しを抽象化する場合に実行します)。

    遅いクエリの方が重要です

    以前は、ページに35のクエリがあり、実行速度が非常に遅い特定のPHPベースのフォーラムソフトウェアに不満を感じていましたが、それはかなり前のことであり、特定のインストールの実行速度が遅い理由は、35のクエリとは関係がないことがわかりました。ページ内のクエリ。たとえば、ほとんどの場合、これらのクエリのうち1つまたは2つだけがかかりました。非常に遅いクエリがいくつかありましたが、適切に配置されたインデックスによって修正されました。

    遅いクエリを特定して修正することは、不要なクエリを特定して排除する前に行う必要があると思います。これは、はるかに大きな違いを生む可能性があるためです。
    3つの速いクエリは、1つの遅いクエリよりも大幅に高速である可能性があることを考慮してください。必ずしも速度に関係するわけではありません。

    800を超えるクエリを含む1つのページ(実際には管理者のみが実行するように設計されたテストケース/診断ツールの一種)がありますが、数秒で実行されます。それらはすべて本当に単純なクエリだと思います。

    キャッシュを試してください

    アプリケーションの一部をキャッシュするさまざまな方法があり、機能を低下させることなく、実行するクエリの数を実際に減らすことができます。 memcached などのライブラリ 最近はこれを簡単に実行でき、しかも非常に高速に実行できます。これは、クエリの数を減らすだけでなく、パフォーマンスを大幅に向上させるのにも役立ちます。

    クエリが本当に不要で、パフォーマンスが本当に違いを生んでいる場合は、クエリを削除/結合します

    まず、遅いクエリを探して最適化するか、結果をキャッシュすることを検討してください。



    1. MySQL、ORDER BY挿入順序、並べ替え列なし

    2. 価格のフロートまたは小数?

    3. MySQL Select Top N Rows

    4. MySQLテーブル列に名前を付けるために番号を使用できますか?