ユーザーが投稿したりブログを書いたりする小さなプログラムを作っています。これらの投稿では、他のユーザーがFacebookのように投稿を高く評価したり、低く評価したり、Stackoverflowのように投稿に賛成または反対票を投じたりできます。一般的に使用されている適切なデータベース構造と、プログラムがその構造で効率的に機能することを知りたいのですが。2つのオプションがあります
最初
役職:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
上記のようにid
、postidです。「いい1,2,3
ね!」列には、投稿またはブログを高く評価したか賛成したユーザーのIDを指定します。7,55,44,3
投稿またはブログを低評価または反対票を投じたユーザーのIDです。
二番目
役職:
id head message datepost
1 ab anchdg DATE
いいね:
id postid userid
1 1 1
2 2 2
嫌い:
id postid userid
1 1 7
2 1 55
このように、私は投稿のいいねを取得するために、いいねと嫌いのために2つの個別のテーブルを作成する必要があります。このようにして、テーブル、つまりLikes
&Dislikes
は非常にいっぱいになります。これにより、テーブルが重くなり、処理が遅くなる場合があります。
それで、私はこのタスクを達成するためのより良い標準的な方法がどれであるか知りたいですか?