안녕하세요.
문의사항이 있어서 글을 남깁니다.
기존에 마스터 테이블에 pk, 제목, 내용, 속성1~속성N... 이런 테이블(게시판은 아닙니다)이 있습니다.
이 경우에 내용 컬럼이 다른 컬럼에 비해서 양이 매우 크다고 할 경우에 마스터 테이블의 대부분(95% 이상)을 차지한다고 할 경우에
내용만 다른 테이블(pk, 내용)에 저장을 하게 되면 마스터 테이블 검색 속도가 향상이 되나요?
대부분의 페이지가 속성1~속성N을 사용하여 제목 리스트를 가져오는 쿼리로 이루어져 있고, 상세보기 페이지에서만 내용을 조회합니다.
마스터 테이블 조회쿼리가 풀스캔을 하지만 않으면 마스터테이블 크기와는 관계가 없는지 궁금합니다.
예. 좋은 방법입니다. 자주보는 테이블의 레코드길이가 짧은 것은 검색에 매우 유리합니다. 말씀하신 것처럼 키,제목 정도로 목록에 보여주는 정보 위주로 테이블을 구성하고, 상세보기에 해당하는 본문은 별도 테이블로 가는 것이 좋습니다.
다만 하나의 테이블이(데이터관점에서) 두개의 테이블로 분리되므로 목록테이블과 상세보기테이블에 대하여 작성자,작성일자 등에 대하여 중복될 수 있는 데이터의 위치에 대하여 관심을 가지셔야 합니다. 분리하시고 목록보기시 조인하여 질의하면 의미는 반감합니다.
목록정보에 두고, 상세보기시 목록을 조인하면 조인대상이 한건일터이니 도움이 될 것으로 보입니다.