1번쿼리

DECLARE @Gubun varchar(1)

SET @Gubun = '1'


IF @Gubun = '1'

BEGIN

SELECT * 

 FROM Table1 T1

WHERE T1.Column1 IN ('01', '02', '03')

END


 IF @Gubun = '2'

BEGIN

SELECT * 

 FROM Table1 T1

WHERE T1.Column1 IN ('04', '05')

END


IF @Gubun = '3'

BEGIN

SELECT * 

 FROM Table1 T1

WHERE T1.Column1 IN ('06')

END

이것과


2번쿼리

SELECT * 

 FROM Table1 T1

WHERE ((@gubun = '0' and T1.Column1  in ('01','02','03')) or

          (@gubun = '1' and T1.Column1  in ('04','05'))         

          (@gubun = '2' and T1.Column1  in ('06'))) 


이 둘중 뭐가 더 실행이 빠를까요?

아니면 더 좋은 방법이 있는지 알고싶습니다 CASE 문으로 써보고 싶은데 어떻게 작성해야하나요?