私はSEの投票システムを複製しようとしています。私のウェブサイト上のユーザーは投稿に1回しか投票できないので、ロックされています。私は現在、users
とposts
という2つのテーブルを持っています。(StackOverflowのような)MySQLデータベースに投票データを格納する最も効率的な方法
ユーザーが投票した投稿の情報はどのように保存する必要がありますか?私はそれに投票したuid
のユーザーを格納するposts
に列を持つことを考えていました。もう1つのアイデアは、の列に、投票した投稿のid
となります。
どうすればよいですか?スケーラビリティを考慮し、投票が有効かどうかを簡単に判断したい。
これは、 'votes'テーブルに各投稿のエントリがいくつかあることを意味していますか? '29、user1'、' 29、user2'、 '28、user1'、' 29、user3'のように?数字はポスト 'id'のもので残りはユーザー名ですか? – n0pe
ええ、それはうまくいくでしょう - これはあなたにとって有利ではありませんか?もしそうなら、なぜ別のアプローチがあるのか、私に教えてもらえますか?私はちょうど例を挙げたことを知っているが、主キーを使って作業することを繰り返すことを望んでいる。 'votes'の列としてあなたの' users'と 'posts'テーブルから取得します。 – Nonym
うん、それは完璧に、おかげで動作します。私はちょうど私が完全に理解したことを確認したい:) – n0pe