빠르게 실행되는 저장 프로 시저를 해결하기 위해 [십시오]하지만, C # 프로그램은 느린 실행의 문제를 호출

이 두 날은 아마 내부 쿼리 분석기를 실행하는 SQL Server2012에서 120 라인 저장 프로 시저에 대해 더 우울 문제가 발생한
적은 일초보다, 당신은 약 500 데이터 레코드에 스크린 잡아 수 있습니다, 아주 좋은 .
그러나 # 프로그램 코드를 호출 C에서, 연결 시간 제한을 자극했다. CommandTimeout이 300로 설정되어, 표시하는 삼분에 대한 필요가
코드를 여러 번 확인하고 오류가 발견되지 않습니다. 문제는 남아있다.

분석 :
1, 쿼리 분석기 빠른 속도의 구현, 그리고 더없는 데이터의 양 때문에.
단지 프로그램에서 호출이는 속도가 느린 경우가있다.
3, 당신은 결과가 나왔다 표시 할 수 있으며, CommandTimeout이 매개 변수를 설정하지만, 오랜 시간 동안.

전술 한 분석은 초기에 문제가 C # 코드에 있다고 결론을 내렸다. 그러나 이후에 어떤 이득을 확인하지 않습니다.

바이두에서이 정보를 조회.
마지막으로 CSDN 포럼 게시물에 유사한 정보를 발견했다. 사용자가 응답했다 어느있다 "실행 계획이 만료가있을 수 있습니다"입니다
정말 내 꿈을 깨어있는 단어.

즉시 쿼리 분석기에 :

@ objname을 = '저장 프로 시저 이름'sp_recompile을 간부

테스트 프로그램 다시, 이번에는 드디어 성공했다. 매우 만족 속도.

분석 :
프로 시저 미리 컴파일되므로, 처음에 실행 된 실행 플랜을 생성 시간의 실시 후, 플랜 구현 각보다는, (특정 디스플레이 또는 프로 시저 허우 컴파일 제외) 사용될 가서 실행 계획이 실행됩니다.
객체 저장 프로세스가 구조 조정을 포함한다 또는 관련 데이터가 현재 상태를 (실행 계획이 만료)에 맞지 않는 원래의 계획으로 이어질 수있는 큰 변화가 있었다 때,이 경우는 저장 프로 시저를 재 컴파일해야한다.

당신이 수정하는 경우 하나는 다시 한번 수정할 수, 그래서 다시 테스트 할 수 없습니다

추천

출처www.cnblogs.com/qi123/p/11370208.html