0

投票を表す行を保持するテーブルがあります。フィールドは、投票自体のID、投票が賛成または反対するもののID、および「上」または「下」を保持する方向フィールドです。「0と1または1と2を使用する方が良いでしょうか」このように文字列または整数を使用することは常に良いですか、それとも悪いですか?

整数を使用すると特定のテーブル操作を高速化できると聞いたことがありますが、表現しようとしている実際のものが方向であるこのようなコンテキストで整数を使用すると、コーディングに関して望ましくない複雑さが生じるようです。整数を使用する場合、どの数値がどの方向を表しているかを覚えておく必要があり、私のコードは自己文書化されません。

何か考えはありますか?

4

2 に答える 2

1

まあ、ケースバイケースで判断すべきだと思います。

列挙型は、これらが属性の少数の値であると非常に確信している場合に非常に便利です。

はい、もちろん、実際の値を参照するために提案した場合に備えて、php に追加のコードを追加しますが、データ リストに追加する右方向または左方向がないことが確実な場合は、ENUM を使用します。

于 2012-04-11T20:49:11.070 に答える
0

あなたの場合、「UP」と「DOWN」を整数として保存することは悪い考えではありません。可能な投票ステータスを保持する特定のテーブルに列挙を保存できます。

次のように、整数 ID と文字列の投票を使用して、votes というテーブルを作成できます。

    votes
+------+------+
| id   | vote |
+------+------+
|  0   | UP   |
|  1   | DOWN | 

次に、必要に応じて、次のようなフィールドで投票の ID を参照しますvote_id。より柔軟でスケーラブルであるため、列挙子よりもこのアプローチをお勧めします。たとえば、いつか何らかの理由で別の種類の投票を追加したい場合は、アプリケーションコードに触れることなく簡単に実行できますが、実装は投票テーブルに新しいレコードを作成するだけです。

于 2012-04-11T21:29:23.550 に答える