私はユーザーが投稿にコメントできるソーシャルネットワークプラットフォームに取り組んでいます。データベースから選択してソフトウェアで制限するか、データベース(mysql)で制限する
そして私は各ポスト(ページをロードするとき)のコメントをすべて選択してからソフトウェアを使って切り捨てるべきか、またはmysqlクエリを使って結果を制限すべきかというジレンマを思いつきました。
このジレンマの理由は、mysqlは独自の最適化とクエリ/結果キャッシングを行い、出力を制限するとクエリキャッシングは役に立たなくなりますが、そうでないと、私は必要以上に多くのデータを取得するだけでなく、ソフトウェアのオーバーヘッドが発生します。
質問はこのように聞こえるかもしれませんMYSQL and the LIMIT clauseこれは制限1を参照していますが、私の場合、結果の数は0から3000(またはそれ以上)になります。制限は通常3ですが、ユーザーがコメントをもっと見たい場合は異なります。
クエリには、ORDER BY id DESC句とそのSELECT *(必須)が必要です。基本的に、SELECT * FROMテーブルWHERE postid = '$ variable' ORDER BY id DESC。
また、ソフトウェアは2年以上にわたって正常に動作していますが、私はそれを最適化するプロセスに入っています。だから、どんな助けも素晴らしいだろう。
編集:TL; DR主な質問は次のとおりです。1つのデータベースクエリがあり、ソフトウェアの一部を使用して、必要な正確なデータを要求するよりも優れていますか?
なぜテストしないのですか?あなたはあなた自身のためにそれを試してみる必要があるほど具体的な音を出します –
両方の方法はうまく動作しますが、パフォーマンスの違いを見つける正確な方法はありません。また、専門家の意見も参考になります。 – Sina
また、テストするのは簡単ではないと付け加えるべきです。システムに乗るには何千人ものユーザーが必要で、可変長の可変ポストを作成して何千ものコメントを作成し、それらを比較するために読み込む時間を書き留めます。だから、基本的にはテストすることは実際には不可能です。 – Sina