안녕하세요. 항상 많은 도움 주셔서 고맙습니다.
SQL 전문가 아니라, 질문이 서툰점 이해 부탁 드립니다.
일단 제가 운영하고 있는 사이트는
WEB - API - DB 이렇게 구성되어 있습니다.
Web에서 API를 호출하고, API에서 DB SP를 호출하는 방식입니다.
이때, API에서 DB SP 호출했을 때 속도가 너무 느린 현상이 발견되었습니다. (10초이상)
그래서 SP를 SSMS에서 실행했을 경우 정상적으로 0초 이내로 호출되고 있습니다.
무엇이 문제인지 모르겠어서, SP를 수정해서 다시 반영하였떠니
API에서 DB SP 호출했을 때 0초 이내로 호출되었습니다.
캐시 문제인거 같기도 하고...정확하게 무엇이 문제인지 모르겠어서
이렇게 두서 없이 작성하였습니다.
도움 부탁 드립니다.
말씀하시는 증상의 원인이 이 부분인 것 같습니다.
SQL Server Management Studio에 대한 기본 ARITHABORT 설정은 ON입니다. ARITHABORT를 OFF로 설정하는 클라이언트 애플리케이션에서 다른 쿼리 계획을 받아 성능이 저조한 쿼리 문제를 해결하기 어려울 수 있습니다. 즉, 같은 쿼리가 Management Studio에서는 빨리 실행되지만, 애플리케이션에서는 느리게 실행될 수 있습니다. Management Studio로 쿼리 문제를 해결할 때 항상 클라이언트 ARITHABORT 설정을 일치시키세요.