안녕하세요. 간단한 소셜네트워크를 만들어보려고 해요...
-----------------------------------------------------------------
질문1. 페이스북이나, 카카오스토리 처럼 개인에게 제공되는 게시물의 형태를 보니
하나의 테이블 형태로 조회하는 형식이 아닌거 같은데, 한번에 쿼리를 날려서 데이터를
조회해야 할것같은데 어떤식으로 처리하는지 궁금합니다.
(다른유형의 레코드형태를 어떻게 빨리 조회할 수 있을까요?)
-----------------------------------------------------------------
조회내역(사용자가 SNS에 들어왔을때 보게되는 게시물 내역들. 조회한번에 총7개의 레코드가 검색됨)
1.테이블[A] - 1레코드 : 아이디, 성명, 전화번호, 주소
2.테이블[B] - 1레코드 : 아이디, 자신 생일축하 메시지, 친구 관계내역
3.테이블[B] - 2레코드 : 아이디, 친구 생일축하 메시지, 친구 관계내역
4.테이블[C] - 1레코드 : 아이디, 스포츠 기사내역, 스포츠종류, 카테고리
5.테이블[D] - 1레코드 : 아이디, 알만한 치구 추천 내역, 학연관계, 지연관계
6.테이블[E] - 1레코드 : 아이디, 가입한 클럽에 이벤트 내역
7.테이블[E] - 2레코드 : 아이디, 가입한 클럽에 이벤트 내역2
위의 조회내역은 N개의 테이블에 서로다른형태의 컬럼으로 데이터를 조회됬을때를 가정한 내용입니다.
페이스북, 카카오스토리 조회방식(아래내역은 화면을 그림)
=============================
검색 ------------------ 알림
=============================
내역조회(게시물 부분, 정보가 다른 내역 한번에 조회)
1.테이블[A] - 1레코드
2.테이블[B] - 1레코드
3.테이블[B] - 2레코드
4.테이블[C] - 1레코드
5.테이블[D] - 1레코드
6.테이블[E] - 1레코드
7.테이블[E] - 2레코드
=============================
-----------------------------------------------------------------
■조회방법1. 보여줄 게시물 만큼 7번의 쿼리를 날림.
■조회방법2. 조회될 게시물 건수및 유형을 파악하고 테이블단위로 조회쿼리를 날려서 처리함.
게시물의 유형(테이블 A,B,C,D,E)5개의 테이블, 각각 1회씩 조회처리
■조회방법3. 조회대상에 포함되는 모든 테이블을 유니온 시키고, 컬럼은 모두 문자로 변경한다.
테이블별로 구분값을 넣어줘서 한번의 조회로 데이터를 가져오고,
구분값기준으로 유형별 데이터셋에 나눠서 받는다.
■데이터를 저장하는 테이블 구조자체를 다시 만들어야 할까요?
-----------------------------------------------------------------
어떤방법이 더 있고 더 좋은 방법일까요?
끝까지 읽어 주셔서 감사합니다.
|