データベース設計について質問してください。

WBOY
リリース: 2016-06-23 14:12:53
オリジナル
810 人が閲覧しました

データベース設計について質問してください!

申請を想定しております。たとえば、フォーラムでは
投稿を投稿し、投稿テーブル トピックを作成し
、その後、訪問者が返信して返信テーブルの返信を準備できるようにします

私の質問は次のとおりです:
各投稿に対する返信の数を知りたいとします
、どのように対処すればよいでしょうか?
1. 投稿トピックテーブルに返信数 (reply_count) のフィールドを用意します。このフィールドを直接選択して返信数を取得します。
2. テーブル関連付けを使用し、count (reply) を選択して返信数を取得します。返信

これが私が考えることです:
方法 1: 通常のビジネス ロジックに従うことが可能です。そして効率の面でも有利です。ただし、データの不整合が発生する可能性があります。私が言いたいのは、データベースは私が記録した返信の数が 10 であることを除外しませんが、実際には返信テーブルには 13 のレコードがあるということです。
方法 2: データ構造はより厳密になっているように感じますが、検索効率が犠牲になります。

他に良い方法があるかどうかわかりません。または、これら 2 つの方法のどちらがより実現可能ですか?

ディスカッションに返信する (解決策)

方法 1 では、返信の挿入操作と削除操作が成功した後、topic.reply_count を更新する必要があります


実際、それは次に対するあなたの応答に依存します。各投稿の「番号」の使用頻度。
1. バックグラウンドで統計を月に 1 回だけカウントする場合は、明らかに 2 番目の方法を使用できます。

2. 投稿を閲覧するときに表示する必要がある場合は、最初の投稿にする必要があります。

特定の問題を詳細に分析することを推奨し、reply_count フィールドを確立する必要があります


特定の問題を詳細に分析することを推奨し、reply_count フィールドを確立する必要があります

冗長設計の場合、実際のシステムに依存します使用。


データベースを調べ始めたところですが、この問題は非常に単純のようです。つまり、2 つのテーブルを更新して関連付ける必要があるということです。
Ganji.com で履歴書を送ったのに、2,000 円しか要求しませんでした。私の履歴書がよく書かれていないからですか? //bj.ganji.com/jianli/564717047x.htm?_rtm=1

フィールドを保存するためだけに効率を落とさないでください。

DISCUZの時計のデザインをご覧ください。応答数をキャッシュする必要があります。

データベースを調べ始めたところですが、この問題は非常に単純のようです。つまり、2 つのテーブルを更新して関連付ける必要があるということです。

Ganji.com で履歴書を送ったのに 2,000 ドルを要求しましたが、一度も電話をかけてくれませんでした。私の履歴書がうまく書かれていないからでしょうか?
名前: Jinwanda直胡
ウェブサイト: http://bj.ganji.com/jianli/564717047x.htm?_rtm=1

仕事を「懇願」するために給料を下げようとするな これは、仕事に自信がない態度です。自分自身であり、無責任です。
友人、あなたの履歴書を読みました。
本名がないと、雇用主はあなたをどのように呼ぶでしょうか?
直接の連絡先番号はありません。メモに追加できます。
もっと前向きな自己説明がなければ、どうやって相手はあなたのことを理解できるでしょうか?
それに、お兄さん、あなたも27歳ですよ。大学を卒業したばかりの友人で、自分の大学が良くなかったと本気で責められる人は 23 24 人だけです。しばらく社会から離れていましたか?大学の愚痴を言い続けていたら、あなたの青春は愚痴だけで終わってしまいます。
誰かに構ってもらいたいとおっしゃっていましたが、なぜ他の人はあなたではなく、大学を卒業したばかりの元気いっぱいの新卒のあなたを選ばないのでしょうか?あなたの強みは何ですか?
十分な準備ができていることを願っています。幸運を!

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