프로그래밍/데이터베이스
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. 근데 경험상 이 문제가 아닐때가 많다.
호출이 프로시저일 경우는 파라미터 스니핑 때문일 확률이 높다.
반응형