1

私は現在、コメントの良いオプションと悪いオプションを備えた投票システムを作成しています。基本的に、アイデアは facebook のものに似ていますが、コメントには悪いオプション (またはそれ以上) があります。これがテーブル構造です

id | comment_id | voter_id | voter_option 

したがって、ユーザーが投票すると、レコードが上記の形式で mysql データベースに保存されます。これを行う理由は、ユーザーに再投票させたくないためであり、ユーザーの好きなもの/嫌いなものを記録したいからです。 .

私の質問は、私のウェブサイトに 10,000 のコメントがあり、各コメントが 1,000 票を獲得した場合、私のデータベースは非常に大きくなります。または、私の場合はコメントごとにテーブルを作成する必要があります。事前に感謝します。

4

1 に答える 1

2

コメントテーブルはどのように見えますか? データベースは、多くの投稿がある場合にのみ大きくなります。クエリが正しく、テーブルが適切なサイズである場合、テーブル内の 10,000 エントリは mysql のチャイルドプレイです。

パフォーマンスに関しては、誰かがコメントを好き/嫌いになったときに、すべての投票を集計し、その値をコメント行に保存するという考えがあるかもしれません。 /dislike カウントを使用すると、コメントをクエリするたびにそのカウントを行う必要がなくなります。

編集:追加する必要があります。インデックスがintであり(列名から判断して)、データ制限のために外部キーを使用していることを確認してください。外部キーを使用すると、テーブルをクリーンに保つことができます。たとえば、誰かがコメントを削除した場合、その ID に基づいてテーブルにカスケードを削除するように指示できます。これにより、コメントが削除され、そのコメントに対するすべての投票が他のコメントから削除されます。テーブル。http://en.wikipedia.org/wiki/Foreign_key

于 2011-05-18T13:39:46.667 に答える