이런경우엔 어케 쿼리 짜야함??
테이블 :
글 테이블 (멤버ID NULL가능 외래키 보유) 10만건
글 추천 테이블 (멤버ID NULL불가능, 글ID 외래키 보유) 1000만건
목표 :
특정 멤버가 특정 멤버에게 총 몇 번 추천을 했는지 구하라
정렬 필요X
조건 :
자기자신에게는 추천할 수 없음
글을 쓴 멤버가 NULL이면 결과에서 제외
결과예시
멤버1 {
멤버2 : 3
멤버4 : 5
}
내가 생각한거 :
글 추천테이블 멤버ID FK인덱스로
추천한 글ID들조회 애플리케이션 가져옴
해당 글ID들로 멤버들ID조회 애플리케이션 가져옴
글테이블 멤버ID 글ID 인덱스로 카운트 그룹핑
궁금한거 :
조인으로 부분범위 처리하는 방법도있나?
그런데 글과 글추천의 조인으로는 누가 추천한지 알 수없어서 전체를 조인하게될거고
글추천과 글의 조인에서 글ID인덱스로 해당 글의 컬럼과만 NL조인하고 거기서 멤버ID 글ID 인덱스로 카운트 그룹핑되나
그런데 한번의쿼리로 인덱스를 두개쓰게하니까 안전하게하려면 쿼리를 분리시키는게좋나?
- dc official App
selec.t
나는 한방쿼리가 나을 것 같은데, 인덱스가 테이블 각각에 쓰이잖아 - dc App
selec/t fr.om 멤버 jo.in 게시글 j/oin 추천 whe/re 멤버아이디 = ? group by 추천유저 이거의도하는거맞음?
아니! 특정사람이 누구의글에 몇번추천했는가를 찾는거야 select 글작성자, 카운트* from 글추천 join 글 where 추천자 멤버id groupby 추천자id 작성자id - dc App
그룹바이 글작성자id - dc App
@글쓴 백갤러(58.29) 한국어로 쓰니깐 못알아먹겠네.. - dc App
@딘퐁 크악 그러니까 1번사람이 누구에게 글 추천을 몇번했는가야 2번에게 : 총 9번 3번에게 : 총 3번 - dc App
@글쓴 백갤러(58.29) 다시 정리하고 나중에 다시 질문해볼게 - dc App