ホームページ > バックエンド開発 > PHPチュートリアル > PHPクエリデータに関連する問題

PHPクエリデータに関連する問題

WBOY
リリース: 2016-06-13 13:49:56
オリジナル
828 人が閲覧しました

PHP クエリ データの問題
データベースは MYSQL5.5 を使用しています
私のシステムには、Weibo など、関連付ける必要があるテーブルが多数あります。
ブログ投稿は、ユーザー テーブルやその他のテーブルなど、複数のテーブルに関連付けられている場合があります。

問題:
サーバーには memcache+apache+mysql5.5 が搭載されています
ブログ投稿を表示するとき、各ブログ投稿には画像、音声、ビデオなどの多くの関連付けがあるため、SQL 関連付けすべてのデータについては、最初にすべてのブログ投稿を見つけてから、ループ内のブログ投稿 ID に基づいて他の関連データをクエリすることをお勧めします。

10 件のブログ投稿を表示したい場合、データベースに 10 回クエリを実行する必要があります (SQL は単純ですが、データベースのクエリ数は多くなります)。
関連クエリを使用する場合、それは 1 つのデータベースで見つかります (SQL は複雑です。)

使用するのに最適なソリューションはどれですか?

--- ---解決策--------------------
キャッシュを使用してください ~
------解決策---------
左結合をオンにすると、速度は問題ありません
------解決策------------------
私の見解: テーブルに参加していることがわかった場合パフォーマンスに問題がある場合は、参加を中止する必要があります。言い換えれば、意図的なボトルネックがない場合 (そして短期的にはボトルネックがなくなる予定である場合)、参加を続けることができます。

NoSQL の観点は、DB はビジネス処理ではなく、永続的なデータ ストレージに重点を置いているということです。 DB のビジネス負荷が解放されると、DB のパフォーマンスが大幅に向上します。
------解決策------------------
プログラムを使用して処理することをお勧めします。データベースはデータの保存にのみ使用されます。データ量が大きい場合、過度に複雑な SQL は適切ではありません。
------解決策---------
個人的には、クエリの大部分はSQL では速度が発生します。ステートメントに関しては、join を使用できますが、たとえば、一度に多くの情報をフィルタリングできる where 条件をすべての where 条件の先頭に配置する必要があることに注意してください。もう 1 つは、クエリ条件として使用される特定のデータベース フィールドが唯一の制約として、データベースに主キー制約などを確立する必要がある場合です。信じられない場合は、実験してみてください。クエリ時間は桁違いに変化しており、これは非常に印象的です。お役に立てば幸いです
------解決策----------------------
できるだけテーブルごとにクエリを実行するのが最善です結合クエリとサブクエリの使用は避けてください。
------解決策---------
一般的な理論的な議論であれば、どうなるでしょうか?やりすぎるのは難しい

特定のテーブルに実装されている場合は、ビューを使用して
毎回表示する必要があるフィールドをビューに追加することをお勧めします

実際にはクエリはビューに対して行われます
------解決策---------
一般的な理論的な議論であれば、どうなるでしょうか?やりすぎるのは難しい

特定のテーブルに実装されている場合は、ビューを使用して
毎回表示する必要があるフィールドをビューに追加することをお勧めします

実際には、クエリはビュー

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