2011-08-09 4 views
0

프로젝트에서 ENUM/SET 필드 유형을 사용하고 있습니까? 아니면 VARCHAR/INT 필드를 사용하고 코드에서 사용 가능한 값을 정의하고 있습니까? 가장 좋은 방법은 무엇입니까?ENUM/SET 유형을 사용하거나 사용하지 않으려면 어떻게해야합니까?

ENUM/SET을 피하는 것이 유지 보수하기가 더 쉽습니다. 왜냐하면 우리는 코드에서만 값을 변경해야하기 때문입니다 (DB와 코드가 아닌).

감사합니다. 일반적으로

답변

3

를 그 프로젝트가 무엇인지 모른 채이 질문에 대답하는 것은 불가능, 데이터가 어떤 것인지, 사용하는 것이 좋습니다 , ENUM을 사용하는 제한 및 코드에서 직접 값을 정의하는 제한. "ALTER ing"열이 필요하거나 코드를 편집해야한다면이 중 하나를 변경해야합니다. 허용되는 값을 저장하기 위해 별도의 테이블을 작성하고 외부 키를 사용하여 해당 테이블에 링크하면 정의 또는 코드를 변경하지 않고도 쉽게 속성을 추가 및 편집 할 수 있습니다.

EDIT : 또한 코드에서 속성에 액세스 할 수있게합니다.

+1

새로운 ENUM 값을 추가하기 위해 멀티 행 테이블을 변경 한 후에는 값이 요일처럼 변경되지 않을 것임을 알 때만 사용합니다. 제한적이지만 거대한 테이블에는 덜 고통 스럽습니다. –

1

내가 열거를 사용하지만, 검색/성능을 위해, 그것은 등 INT

관련 문제