1

ビデオ/ユーザー/メッセージのテーブルを含むデータベースがあります。

ビデオテーブルにはビデオ情報が含まれています

  • ID
  • 題名
  • 説明
  • オーナー
  • ...

一連の統計 (ライブで更新されます)

  • ビュー
  • 賛成票
  • 反対票
  • ...

また、一連の計算値 (1 日または 1 週間に 1 回更新される)

  • 計算された投票数
  • is_popular
  • 評判
  • ...

私はかなり巨大なテーブルになってしまいました。分けたって意味あるの?(テーブル: ビデオ、videos_statistic)
1 対 1 の関係になります。

私は 1 対 1 の関係のファンではありませんでした。このタイプの関係をいつ使用してもよいという「ルール」はありますか?

4

2 に答える 2

2

まあ、私は別のテーブルに統計を保持します(1対1ではなく、1対多の日付ベース)

したがって、統計テーブルには列を含めることができます

  • ビデオID
  • 統計日
  • ビュー
  • 賛成票
  • 等。

これにより、値の履歴を保持することができ、後でレポートに使用したり、平均や傾向などを表示したりできます。

于 2013-09-04T19:01:28.387 に答える
1

また、2 つの理由から統計を別のテーブルに保持します (たとえ 1-1 であっても):

1:スリムなテーブルの更新は、幅の広いテーブルに比べてリソースの観点から簡単です。2: データが BI レポートに使用されている場合、作成されたレポートの種類に基づいて取得も高速になります。

あなたの質問に記載されている属性を考慮してください:

id タイトル 説明 所有者

これらの属性は、システム内で一度変更されることはほとんどありません。統計テーブルは定期的に更新されます。したがって、Astander が述べたように、日付レベルで異なる粒度で統計を維持したい場合、変更されない属性を毎日再度保存する必要はありません。

お役に立てれば。

于 2013-09-04T19:19:00.327 に答える