테이블 분리 여부 채택완료
예) 단지 예시 입니다.
ID | NAME | TEL ~ ~~~~~~~~~~ | 필드1 | 필드2 | 필드3
----------------------------------------------------
~
~
~
참고: 레크드가 많은 편입니다.
이런 테이블에서 필드1,2,3 필드가 TEXT 형식으로 많은 글자수를 가지고 있습니다.
한개의 테이블로 인한 무리를 줄이고자, 테이블을 분리 해 뒀다가 필드1,2,3 필드가 쿼리할 필요가 있을때 JOIN 해서 사용합니다.
질문1: 그냥 분리하지 않고 SELECT 시 필드를 잘 지정해서 사용하면 괜찮지 않을까요?
질문2 : 그냥 1개 테이블, 또는 2개,3개의 테이블 분리 기준은 어떻게 두고 설계하나요?
답변 3개
1
프로그램을 어떻게 짜냐에 따라서 분리를 하나 안하나 차이는 없을듯합니다.
텍스트라면 보통 리스트 가져올때 *를 지양해야 합니다. left(텍스트필드, 10)이렇게 잘라서 가져와야 합니다.
전체를 가져오면 그에 따른 부하가 크기 때문입니다.
이런 부분을 프로그램 코딩할때 고려하면 문제가 없을거라 생각합니다.
2
테이블 분리 기준은 정규화에 따라 다릅니다. 보통 null데이터가 많으면 분리를 합니다.
멤버와 멤버상세의 관계같은거죠. 멤버는 필수지만 멤버상세는 입력하시는 회원은 별로 없기에
댓글을 작성하려면 로그인이 필요합니다.
JOIN이나 INDEX가 많다면 분리 안 하시는 것 낫고요.
몇 개 안 되면 테이블 분리하고 JOIN을 사용하시는 것 낫다고 생각합니다.
테이블 분리할 때 Join의 한계성도 따져보시고 정하시면 좋을 것 같습니다.
DB 설계는 전문가 영역이라고 생각합니다.
ERD 생성이 먼저입니다.
드린 댓글 PHP 전문가 아닙니다. 그러니 더 좋은 말씀 추가해 주세요.
감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인