일단 테이블에 대해 간단하게 설명드리면


테이블명: account

컬럼: user_id(pk), user_name(unique index), user_no(unique index), ....


입니다.


현재 제가 짜는 프로시저는 각각 @user_id, @user_name, @user_no을 파라미터로 받아 where절에서 사용하고 각각의 파라미터가 

기본값(0 또는 '')일 경우는 조건문에서 사용하지 않는 쿼리입니다.


동적 쿼리로 짜긴했는데 혹시 정적 쿼리로 짜면서 정상적으로 인덱스를 타는 쿼리가 있을까 싶어서 질문남깁니다~


제가 짠 쿼리는


select *
from account

where ((@user_id <> 0 and user_id = @user_id) or @user_id = 0)

and ((@user_name<> '' and user_name= @user_name) or @user_name = '')

and ((@user_no<> 0 and user_no= @user_no) or @user_no= 0)


조언 부탁드립니다~