데이터 베이스가 개발과 운영이 있습니다.
동일한 조건에 동일한 데이터인데 특정 프로시저 하나가 운영에서만 실행이 되질 않고 있습니다.
개발에서는 바로 조회된 값이 나오는데 운영은 몇십분이 지나도 반응이 없습니다.
해당 프로시저는 다른 작업없이 조회SQL이 들어있는 프로시저 인데요.
프로시저 내부에 조회 SQL문제인가해서 조회SQL만 따로 돌려보면 또 잘 나옵니다.
이상하게 프로시저로 해서 실행하면 나오질 않고 있는데
혹시나 Lock 걸린게 있나하고 확인해봐도 Lock 걸린거도 없어서 도통 어디서 문제인지 모르겠습니다.
무슨 문제로 이러한 현상이 발생하는건지 해결방법은 어떤게 있는지 답변부탁드립니다.
Comment 3
-
이리
2016.02.18 11:44
-
minsouk
2016.02.18 11:49
이리님 말씀처럼 플랜이 다르게 풀릴듯 합니다 프로시저는 인자가 있다면 최초 입력되는 인자를 기준으로 얼마나 씨게 돌려야 하는지 어떤 조인을 쓸지 뭐 이런 결정을 하는데 운영쪽에서는 가벼운게 먼저 들어오고 나중에 무거운 인자가 들어오는듯 하네요 자세한 이야기는 고전이지만 sqlserver 운영과튜닝 이라는 책에 잘 나와 있습니다 -
군고구마
2016.02.18 13:46
https://msdn.microsoft.com/ko-kr/library/ms190439(v=sql.120).aspx
이 부분 참고 하심이
프로시저 컴파일을 다시 한번 해보고 돌려보세요.
그래도 안된다면 실행계획을 올려주시면 고수분들이 조언 주시기에 편할 거 같습니다.