조회 프로시저 작성시
@param 이라는 파라미터 값 변수가 있을때
select param
from Test
where 1) (isnull(@param, '') = '' or param = @param)
2) (@param = '' or @param is null or param = @param)
3) if len(@param) = 0 set @param = null
select param
from Test
where (@param is null or param = @param)
간단하지만 복잡한 select 쿼리문일때 어느게 더 효율적인 where문인가요??
Comment 1
-
자리비움
2017.08.21 10:22
where 절 쿼리가 좀 이상하네요.
@param 값이 안들어오면, @param 값을 true 로 만들어 버리고, 이 후 param = @param 이 or 라서 scan 합니다.
where 절 이후 @param = @param 처럼 true 값이 안떨어지도록 수정 후에 문의해주세요.