안녕하세요
오라클 프로시저를 만들면서 아무래도 원인파악이 안되 질문을 드립니다.
프로시저를 만들기 전 상수를 조건문에 대입하여 쿼리를 작성 한 뒤
프로시저 생성 시 상수 부분에 변수로 파라미터를 받아 프로시저를 실행해 보니
동일 쿼리에 성능 차이가 너무 크게 발생을 합니다.
해서 플랜을 확인해 보니 플랜 역시 변동이 있더군요...
테이블은 총 8개를 조인하고 있으며 이중 2, 2, 4개의 테이블을 인라인뷰로 묶어
outer join을 걸고 있습니다.
첨부된 쿼리를 보시면 Line136번 조건이 포함 될 시 변수로 받을 경우 현저히 성능이 떨어 집니다.
상수로 받았을 경우 아무런 문제가 없는데 말이죠...
36시간 째 원인을 모르고 있어 이렇게 문의 드립니다...