안녕하세요^^
항상 많은 도움 받고 있습니다.
SQL2008을 사용하고 있구요.
대량의 데이터 삽입후나 SQLServer 재실행후, 또는 인덱스 작업후에 프로시져를 최초한번 실행하면, 시간이 좀 오래걸리고
그 다음부터는 빠르게 실행되던데..
이게 최초한번 실행하면 메모리에 데이터를 올리기 때문에 그런게 맞나요?
그렇다면 위와같은 작업을 마친후엔 최초로 한번씩 읽어주고 DB점검을 끝내고 오픈을 하는건지..
아니면 다른 방법이 있는데 제가 잘 모르는건지..
조언 부탁드립니다^^
감사합니다^^
Comment 3
-
향지
2013.07.09 09:50
-
전념
2013.07.09 16:37
답변 감사합니다^^
첨에 미리 읽기를 해서 걸리는것 같던데
메모리에 올린다는게 필요한 테이블 데이터를 미리 읽는다는건가요? -
오버탑
2013.07.10 13:18
SQL Service 를 재시작을 하게되면 plan cache 없어집니다.
그 이후에 해당 SP를 실행을 하게되면 실행계획을 새로 만들게 됩니다.
실행계획을 만드는 과정을 최초에 하기에 처음에는 느린것을 확인하실수 있습니다.
2번째부터는 같은 실행계획을 재사용하기에 빠르게 실행이 됩니다.
믈론 실행계획은 메모리에 올려집니다.
SET STATISTICS IO ON
일단 옵션 키고 프로시저를 실행시켜서 읽는 수치 관련 체크한번 해보셔야 될것 같습니다.
그리고 제가 일했던 곳은 필요한 부분은 메모리에 올리고 점검을 끝냈습니다.