ブログなどでよくある「今週の人気記事」のような機能を作りたいと考えています。
ただ、プログラミング経験はまだ浅いので相談に乗っていただきたくて投稿しました。

現在僕の中でのイメージは以下のようになっています。

posts
- id
- title

view_counts
- id
- post_id
- created_at

このようにしてview_countsに次々とデータを挿入し、その数をカウントして集計するやり方しか思いつきません。
このやり方で可能ではあると思うのですが、他にスマートで汎用性の高い設計はありますか?

また、カウントの取り方は1リクエストごとにデータベースを更新して大丈夫でしょうか。

賢いやり方や、考え方などを教えていただけると嬉しいです。

よろしくお願いします。