0

私は記事サイトを開発しています。記事ビューを同じテーブルに保存する必要があります

例:site_ARTICLESテーブルにビューフィールドを作成するか、そのための新しいテーブル(site_articles_views)を作成する必要があります。

どれが最も最適化されていますか?

SQLデータベースの負荷を低くする方法はどれですか?

4

1 に答える 1

2

site_articles単純なものだけが必要な場合は、記事ビューをテーブルに保存できますcount(*)article_views次に、特定の記事が表示されたときに新しい列をインクリメントすることができます。

UPDATE site_ARTICLES SET article_views = article_views + 1 
WHERE ...

ただし、次のように、さらに多くのことを実行したい場合。

  • ユニークな視聴者のリストを表示する
  • 個々の視聴者を数える
  • ビューの統計を提示または分析します
  • ユーザーに視聴履歴を提供する
  • 等...

次に、別のテーブルを使用する必要があります。おそらく、次の列を潜在的な列として使用します。

id
user_id
date_stamp
article_id

それはあなたが何を達成したいかに完全に依存します。新しいarticle_views列だけが「最も最適化」されますが、それが必要な機能の制限である場合に限ります。

于 2012-11-22T19:21:34.513 に答える