ホームページ >バックエンド開発 >PHPチュートリアル >返信数やリストのページングなど、データベース設計に関連する一般的な問題がいくつかあります。
ヘルプ: 返信数、リストのページングなど、いくつかの一般的なデータベース設計の問題。
ブログを構築したいのですが、簡単な要件は次のとおりです。コメントの数が記事リスト ページに表示される必要があります。記事リストはページ単位で表示される必要があります。 コメント リストはページ単位でも表示されます (コメントリストは ajax を介してページ単位で表示されます)。
あまり多くのプロジェクトに参加したことがないので、いくつか質問したいことがあります:
1. コメント数は通常、記事テーブルのフィールドとして使用されますか、それとも実行時の選択カウントによって実装されますか?選択カウントによって実装されている場合、毎回 N 個の記事が記事リストに表示されます。返信数をクエリするために N 個の記事が実行されると、パフォーマンスが低下しますか?
2. ブログのトップページには、一部のリストブロック(週間ランキング、デイリーランキング、最近のクリックランキング、関連記事、最新記事、最新コメントなど)を除き、多くの記事リストブロック(週間ランキング、日間ランキング、最近のクリックランキングなど)が存在するとします。キャッシュに加えて、1 回の http リクエストの実行で 10 個の select ステートメント (すべての select ステートメントが最適化されている) を使用するのは多すぎますか?
------最適な解決策-----
1. 1 つのフィールドを使用して保存する必要があります。
2. 原則として、クエリは最小限に抑える必要があります。しかし、ブログのトラフィックがそれほど多くない場合は問題ありません。
------その他の解決策---------
は 1 つのフィールドで保存する必要がありますが、ほとんどのフィールドは初期化プログラムを作成して再度カウントすることをお勧めします。そうしないと、長時間後にエラーが発生する可能性があります。
フィールドストレージを使用したくない場合は、キャッシュを使用できます