테스트 사이트 - 개발 중인 베타 버전입니다

테이블 분리 여부 채택완료

가비다 1년 전 조회 974

예) 단지 예시 입니다.
ID | NAME | TEL ~ ~~~~~~~~~~ | 필드1 | 필드2 | 필드3
----------------------------------------------------
~
~
~
참고: 레크드가 많은 편입니다.


이런 테이블에서 필드1,2,3 필드가 TEXT 형식으로 많은 글자수를 가지고 있습니다.
한개의 테이블로 인한 무리를 줄이고자, 테이블을 분리 해 뒀다가 필드1,2,3 필드가 쿼리할 필요가 있을때 JOIN 해서 사용합니다.


질문1: 그냥 분리하지 않고 SELECT 시 필드를 잘 지정해서 사용하면 괜찮지 않을까요?

질문2 : 그냥 1개 테이블, 또는 2개,3개의 테이블 분리 기준은 어떻게 두고 설계하나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
1년 전

1
프로그램을 어떻게 짜냐에 따라서 분리를 하나 안하나 차이는 없을듯합니다.
텍스트라면 보통 리스트 가져올때 *를 지양해야 합니다. left(텍스트필드, 10)이렇게 잘라서 가져와야 합니다.
전체를 가져오면 그에 따른 부하가 크기 때문입니다.
이런 부분을 프로그램 코딩할때 고려하면 문제가 없을거라 생각합니다.

2
테이블 분리 기준은 정규화에 따라 다릅니다. 보통 null데이터가 많으면 분리를 합니다.
멤버와 멤버상세의 관계같은거죠. 멤버는 필수지만 멤버상세는 입력하시는 회원은 별로 없기에

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

1년 전

JOIN이나 INDEX가 많다면 분리 안 하시는 것 낫고요.

몇 개 안 되면 테이블 분리하고 JOIN을 사용하시는 것 낫다고 생각합니다.

테이블 분리할 때 Join의 한계성도 따져보시고 정하시면 좋을 것 같습니다.

DB 설계는 전문가 영역이라고 생각합니다.

ERD 생성이 먼저입니다.

 

드린 댓글 PHP 전문가 아닙니다. 그러니 더 좋은 말씀 추가해 주세요.

감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

세크티
1년 전

1. 분리하지 않고 쓰시는게 좋을거같아요.

2. 1대n으로 연결이 필요할때 나누거나, 그누보드 게시판테이블같이 이미 있는 테이블에 필드추가 않하고 싶을때? 나눕니다.(개인적으로요)

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인