가끔 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. 근데 경험상 이 문제가 아닐때가 많다.
호출이 프로시저일 경우는 파라미터 스니핑 때문일 확률이 높다.
반응형
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
SELECT만 하는데 자꾸 LOCK이 걸리는 경우 (0) | 2021.04.17 |
---|---|
프로시저 내용 전체 검색하는 방법 (0) | 2021.04.17 |
서버의 CPU 사용률 확인하는 쿼리 (0) | 2021.04.15 |
현재 실행중인 프로시저 이름 가져오기 (로그 기록할때 유용하다) (0) | 2021.04.14 |
모든 테이블 중 특정하여 자료 검색하기 (0) | 2016.02.29 |