안녕하세요,
with recompile에 대한 글을 보았을때, 처음 실행된 조건으로 플랜이 캐시되는게 문제가 되므로 with recompile을 통해 새로운 계획을 잡는다고 보았습니다.
제 경우 sql server 사용 중
특정 프로시저에서 사원번호 사용시 조회 속도와, 사원명 사용시 조회 속도가 다르다는 것을 확인 후에
set statistics io on 을 통해 논리적 읽기 수를 확인 해 본 결과 io가 많이 발생하는것으로 보여서
사원번호로 조회시 with recompile을 해 주었더니 io가 현저히 줄어 든 것을 확인 할 수 있었습니다.
하지만 다시 with recompile 제거 후 사원번호로 조회시 recompile 전의 io와 동일한 결과를 확인하게 되었는데요,
이 경우에는 프로시저 실행할때마다 recompile을 해주어야 하는건지,
왜 with recompile을 붙이지 않으면 recompile을 붙여서 조회할때와 계속 다른 값이 나오는지도 알고 싶습니다.
긴 글 읽어주셔서 감사합니다.