StackOverFlowと同様に上下の投票オプションがあるプロジェクトに取り組んでいます。私はDB設計の経験があまりないので、次の問題に直面しました。
まず、投票用のテーブル構造を次に示します。
- voteId ----- AUTO_INCREMENT withPRIMARYKEY。
- mediaId ----ユーザーが賛成/反対票を投じるメディア。
- userId -----投票したユーザー。
- 投票モード---1は賛成票、0は反対票。これは整数フィールドです。
この場合、100人のユーザーと100人のメディアがある場合、このテーブルには合計100x100のレコードがあります。
ここで問題が発生するのは、DBが大量のレコードを処理していて、投票ボタンの反応が非常に遅いことです。これは私のクライアントを不幸にし、私を困らせています。
この巨大なテーブルを避けるためのより良いモデルを誰かが私に提案できますか?
私はjQuery.ajaxを使用して投票をサーバーに投稿しています。また、このプロジェクトはPHPとZendFramework1.11に基づいています。そのため、UPアイコンをクリックすると、応答に時間がかかります。Mozillaは、特定の時間にクラッシュしていました。大量のジャンクレコード(約15000)を含むループを介して挿入してテストしました。