앱)조인 쿼리 튜닝

Posted by HULIA(휴리아)
2018. 10. 29. 11:10 백엔드개발/데이터베이스
조인을 할때
각각 테이블에 ON절에 조인조건을 쓰게 되어 있음
보통의 개발자는 각각 테이블이 조인되는 ON절과 조인이 된 후의 WHERE절의 조건을 혼용해서 쓰게 되어서 어떨때는 쿼리의 성능이 많이 떨어질 경우가 있음
게다가 INNER JOIN을 할 경우 ON절을 쓰지 않고 WHERE절에 ON절의 내용을 쓰는 경우가 종종 있음

조인튜닝을 할때
1)ON절을 반드시 쓰도록 함
2)ON절에 해당 테이블과의 조인될때 필요한 조인조건과 연산되어야 하는 조건을 모두 써줌
EX)A와 B테이블의 조인한다면
ON절에 A테이블.조인컬럼 = B테이블.조인컬럼 이것도 써줘야 하지만 A테이블.DEL_FG = 'N' 이나 B테이블.DEL_FG = 'N' 등과 같은 WHERE절 써줘야 할것도 해당 조인시에는 ON절에 모두 기록함
3)조인쿼리의 WHERE절에는 모든 테이블과 조인이 된 후에 필터링할 조건을 써줘야 함

이렇게만 해도 조인 성능이 많이 올라감
왜냐면 조인쿼리에는 1)ON절이 실행 2)WHERE절이 실행 되기 때문임