• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

db 설계시 질문

22.02.26 22:21 작성 조회수 217

0

제로초님

보통 디비 설계시 유저 정보를 담을때

개인정보 테이블, 프로필 테이블로 나누는데

만약 프로필에 배열로 들어가야하는게 있다면

(예를 들어, 프로필의 캐릭터가 헤어,눈,코,입,옷,수염,안경 이런식으로 각각의 요소들의 이미지를 따로 품고있다하면)

 

방법이 3가지인데

1. 그냥 하나하나 프로필 컬럼으로 다 때려박기.(더럽지만 성능은 좋아보임)

2. 별도의 케릭터 테이블로 만들고 불러올때마다 join으로 연결해주기. (가장 깔끔해보이지만 성능이 걱정됨)

3. 프로필에 캐릭터 컬럼을 만들고 json 형식으로 억지로 string으로 만들어서 저장하기. (깔끔하지만 정규화 1원칙 위반, 입출력마다 json포멧해줘야해서 성능은 잘모르겠음)

 

질문은

컬럼이 10개 미만이라고 가정할경우

실무에선 이럴경우 보통 어떻게 처리하는지 궁금하고,

제로초님 개인적으론 뭘 가장 선호하는지 궁금하고,

성능은 어떤게 가장 좋을지 궁금합니다.

 

답변 1

답변을 작성해보세요.

0

일단 저 컬럼이 저기서 끝이라면 1번도 괜찮아 보입니다.

그런데 컬럼이 혹시나 늘어나거나 줄어들 것 같다면 2번이나 3번으로 해야 합니다. MYSQL도 요즘 json 컬럼 및 쿼리 다 지원합니다.

솔직히 뭘 하든 성능적으로는 별 차이 없을 것 같습니다.