2011-08-09 8 views
0

プロジェクトでENUM/SETフィールドタイプを使用しているか、VARCHAR/INTフィールドを使用していて、コードで使用可能な値を定義していますか?ベストプラクティスは何ですか?ENUM/SETタイプを使用するかどうかを指定しますか?

ENUM/SETを避けると、コード内の値だけを変更する必要があるため(DBとコードの両方ではない)、維持管理がより簡単になるようです。

ありがとうございます。一般的に言って

答えて

3

をそのプロジェクトが何であるかを知らなくても、この質問に答えることは不可能、あなたのデータがどのようなものであるか、使用することをお勧めします、その制限はENUMを使用し、コード内で直接値を定義することもできます。列「ALTER」が必要な場合、またはコードを編集する必要がある場合は、これらのいずれかを変更する必要がある場合。許容値を格納する別のテーブルを作成し、外部キーを使用してそのテーブルにリンクすると、定義やコードを変更することなく、簡単に属性を追加および編集できます。

EDIT:また、コードで属性にアクセスできるようにします。

+1

新しいENUM値を追加するために、数百万行のテーブルを変更した後、曜日のように値が変更されないことがわかっている場合にのみ使用します。制限はありますが、巨大なテーブルでは苦痛を軽減します。 –

1

私は列挙型を使用していますが、検索/パフォーマンスのために、それはなどINT

関連する問題