프로그래밍/데이터베이스

SSMS에서는 빠른데 적용하면 느릴경우

최봉구 2021. 4. 16. 22:47

아놔 고갱님 잘 된다니까요?

 

가끔 SSMS에서는 0.1초만에 끝나는 쿼리가 이상하게 Web이나 프로그램으로 실행하면 느린 경우가 있다.

 

물론 다른 원인도 많지만 이 방법도 써서 쿼리를 확인해보자.

SET ARITHABORT OFF

/* 문제가 되는 쿼리 */
SELECT * FROM MYWORKTABLE WHERE WORKER LIKE '봉구%'

 

기본적으로 SSMS에서는 ARITHABORT 옵션이 ON 상태이다.

만약 우리가 SSMS에서 다음쿼리를 실행한다면

SELECT * FROM MYWORKTABLE WHERE WORKER LIKE '봉구%'

 

실제로 실행 되는 쿼리는 다음과 같다. (프로파일러 돌려보면 나온다)

SET ARITHABORT ON

SELECT * FROM MYWORKTABLE WHERE WORKER LIKE '봉구%'

 

그래서 항상 쿼리 성능을 확인할때는 이 옵션을 OFF하고 테스트 해보자.

 

ps. 근데 경험상 이 문제가 아닐때가 많다.

 

호출이 프로시저일 경우는 파라미터 스니핑 때문일 확률이 높다.

반응형