私の質問は次のとおりです。ユーザーの投票を格納する最善の方法は何ですか?新しいmysql行にipとanswer idを含めるか、データ 、それが値を解析することが困難になると1列に複数の値を保存するために、ほとんど常に悪い考えです。このシリアル化されたデータ投票の問題 - 複数行ではなくシリアル化として投票を格納する
0
A
答えて
3
を格納するファイルの種類何 場合を「シリアライズ」として、すべての投票パーツを抽出するのに必要な文字列操作に続いて列インデックスを使用できなくすることができます。
回答ごとに1人のユーザーあたり1つの行を格納する正規化された表を作成します。個々の回答そのものが単一のデータポイントである場合、それはそれ自身の行として属します。
あなたがIPでユーザーを追跡している場合は、次のと同じことを達成するために
/* Get vote count per user */
SELECT userip, COUNT(*) FROM votes GROUP BY userip;
/* Get users who have voted 3 or more times */
SELECT userip FROM votes GROUP BY userip HAVING COUNT(*) >= 3;
:
CREATE TABLE votes (
voteid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userip VARCHAR(15) NOT NULL,
answerid INT NOT NULL
);
プラス、これはあなたのような方法でデータを照会することができるという利点を提供しますシリアライズされた列の場合は、アプリケーションコードにクエリを実行し、区切り文字を解析して分析を実行する必要があります。アプリケーションコードで2番目の(count> = 3)を実装するには、ソート、グループ化、カウントなど、データベースが既に非常に優れていることを再実装する必要があります。
0
それぞれの個別の項目を独自の列として作成する必要があります。
これにより、個々の列にアクセスするのがずっと複雑になりません。クエリは複雑ではなく、一般的にMySQLの方が効率的です。
また、各列に異なるタイプと長さの要件を指定することもできます。たとえば、1つのInteger列と1つのCharacter列があり、それぞれに異なる記憶域要件とそのタイプへの影響があります。
整数列のようにIPアドレスを保存することをお勧めします。using the INET_ATON()
and INET_NTOA()
functions。
関連する問題
- 1. 投票 - 投票数と投票パーセントか?
- 2. PHP投票システムチェック投票
- 3. 投票して再投票を停止したユーザーのリストを格納します
- 4. pHpを使用しないjQuery投票投票プラグインですか?
- 5. 投票時間の投票システム
- 6. votingapi_set_votesは投票と投票を処理しません
- 7. AppleScriptで投票投票を行う方法
- 8. 投票に問題があります
- 9. 投票システムの質問
- 10. Djangoゲストは一度だけ投票に投票します
- 11. のRails:投票
- 12. 投票 - ストアドプロシージャ
- 13. 投票ネットワークアーキテクチャ
- 14. JQuery Ajax投票
- 15. ブキットマップ投票
- 16. 出席者トラッカー/複数の投票
- 17. 壁への投票を投稿する
- 18. 名前と投票日を持つ投票者の配列を取得する
- 19. CouchDBと競合の問題を抱える投票ツール
- 20. 投票加重アルゴリズム
- 21. php-mysql投票システム?
- 22. Python投票電卓
- 23. Drupalコードを使用した投票APIでの投票の作成
- 24. 最適な投票ソリューション
- 25. jQuery SO投票オブジェクトとスコープ
- 26. Symfonyワークフローコンポーネントとセキュリティ投票者?
- 27. 投票システムとjQuery AJAX
- 28. ユーザーが一度投票するための投票を確認する
- 29. 投票システムに論理的な問題がある
- 30. デバイス/ブラウザごとに投票ボタン数を1票にする方法は?