이 쿼리문의 속도 개선 가능할까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

이 쿼리문의 속도 개선 가능할까요? 정보

이 쿼리문의 속도 개선 가능할까요?

본문

select A.wr_subject, A.wr_id, A.wr_comment, trim(substring(A.wr_datetime,3,9))
from 테이블 A inner join 테이블 B on A.wr_num=B.wr_num
and A.wr_id=B.wr_parent and A.wr_is_comment!=B.wr_is_comment
where (to_days(B.wr_datetime) >= (to_days(now()) - 30)) and B.mb_id = '아이디'
group by A.wr_parent
order by B.wr_id desc

일단 테이블 A,B는 동일 테이블입니다.
테이블 행의 갯수는 대략 60만개정도구요.

아무래도 조인문이다보니 60만개의 테이블 2개(맞나? -0-)를 불러와서 비교하는거라 그런지 시간이 많이 걸립니다. 대략 1.6초~1.7초정도 걸리는데 이걸 1초 이내로 줄이는게 목표입니다.
원래는 where문에 날짜조건이 없으면 1.8~1.9초정도 걸리는데 저 조건문을 넣으니까 0.1~0.2초정도 단축이 된거 같더라구요.

근데 제 생각에는 쿼리문을 보면
일단 테이블에서 전체행을 다 가져온다음에 비교를 시작하는거라
오래걸리는게 아닐까 싶습니다.

그래서 궁금한데 처음에 데이터를 가져올때 조건문으로 필터링이 된걸 가져와서 조인을 할 수는 없는건가요?

고수분들 도와주세요 ㅠㅠ;

댓글 전체

정확한 상황을 알아야 튜닝이 가능합니다.
게시판에 mb_id가 키가 아니니까
이것으로 시작하는 인덱스를 하나 추가해 보면 좋을 듯합니다.

60만 건이면 인덱스 추가할 때 시간 좀 걸리겠네요.

mb_id 대신 mb_no를 사용하세요.
답변 감사합니다.
근데 제가 인덱스를 사용할 줄 몰라서 ㅠㅠ;

그리고 게시판 테이블에 mb_no라는 필드는 없던데요?
멤버테이블에 있는건데 이걸 어떻게 써야될지 -0-;
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT