DECLARE @IntVariable INT, @IntVariable2
INT
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
SET @IntVariable = 35
SET @IntVariable2 = 14
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
SET @IntVariable = 35
SET @IntVariable2 = 14
//이방식으로 쿼리 돌리면 검색시 딜레이가 생깁니다.
SET @SQLString =
N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = @level and job_id =
@job_id'
//이방식으로 하면 바로바로 나타납니다.
SET @SQLString = N'SELECT * FROM pubs.dbo.employee
WHERE job_lvl = ''' + @IntVariable + '''and job_id = ''' + @IntVariable2 +
''''
SET @ParmDefinition = N'@level tinyint,
@job_id smallint'
EXECUTE sp_executesql
@SQLString,
@ParmDefinition,
@level = @IntVariable,
@job_id = @IntVariable2
예를 들어 위에 소스처럼 하면 속도부분에서 문제가 발생합니다..
왜 저런 문제가 발생하는지.. 해결방안 좀 부탁드리겠습니다.
두방식의 딜레이 약 7~8초 정도 차이가 납니다.
Comment 3
-
쓸만한게없네(윤선식)
2013.09.25 12:38
-
minsouk
2013.09.25 14:05
아래는 결과가 나오는게 아니라 에러가 날거 같은데요...
그래서 금방 되는거 처럼 보이는거 아닌가요?
-
Larry
2013.09.25 17:09
민숙님 의견에 동감...
실행계획을 같이 올려주세요. ^^.
그렇게 해 주시면, 많은 분들에게 도움받으실 수 있을 겁니다. ^^.