ランキング集計のデータベース設計とカウントの取り方について相談
ブログなどでよくある「今週の人気記事」のような機能を作りたいと考えています。
ただ、プログラミング経験はまだ浅いので相談に乗っていただきたくて投稿しました。
現在僕の中でのイメージは以下のようになっています。
posts
- id
- title
view_counts
- id
- post_id
- created_at
このようにしてview_counts
に次々とデータを挿入し、その数をカウントして集計するやり方しか思いつきません。
このやり方で可能ではあると思うのですが、他にスマートで汎用性の高い設計はありますか?
また、カウントの取り方は1リクエストごとにデータベースを更新して大丈夫でしょうか。
賢いやり方や、考え方などを教えていただけると嬉しいです。
よろしくお願いします。