안녕하세요?
sybase를 사용하여 저장 프로시저를 하나 작성을 하였습니다.
근데 이상하게도 처음엔 실행 속도에 별 문제가 없었는데
이용을 하다보니 속도가 현저히 떨어지는 겁니다.
프로시저를 사용하는 부분에서 너무 속도가 늦어지는데
무슨 이유에서 인지 모르겠습니다.
고수님들의 답변을 부탁드립니다.
수고하세요~
프로시져가 느려지는 것은 몇가지 이유가 있을수 있는데요
1. index를 타지 않는다.
처음 작성하실때는 table scan을 해도 data가 별로 없다면 느린것을 느끼지 못하다가 data가 많아 질수록 느려집니다. query plan을 살펴보시기 바랍니다.
2. 통계값이 잘못되어 있다.
이건 부가 설명을 하지는 않겠습니다. update statistics를 주기적으로 실행해 주셔야 합니다.
3. procedure cache부분이 적게 잡혀있다.
프로시져를 수행하는 procdure cache가 있는데 12.0이하 버젼은 총 cache의 20%가 프로시져 캐시로 할당이 되고
12.5이상에서는 직접 size를 정해주어야 합니다.프로시져가 많다면 이프로시져 캐시를 늘려주셔야 합니다(대부분 기본값으로도 잘 수행됩니다)
4. 기타....외부 환경