2012-06-28 6 views
0

SQL Server 2005에서 동일한 sql 스크립트 (이름을 제외하고 전혀 차이가 없음)를 사용하여 2 개의 저장 프로 시저 (sp1sp2)가 있습니다.SQL Server 2005 - 저장 프로 시저 최적화

sp1을 실행하려고하면 결과가 0-1 초 후에 3000 개가 넘는 행이 반환됩니다. 그러나 sp2을 실행하면 10 초 안에 3000 행이 반환됩니다.

잘 알고 싶습니다. 최적화를 위해 특정 저장 프로 시저를 설정할 수있는 도구/명령/것이 있습니까?

감사합니다.

+0

동일한 데이터베이스에있는 데이터베이스를 실행하고 있습니까? 또는 다른 것들? 두 개의 별도 데이터베이스 인 것 같고 두 번째 데이터베이스는 예를 들어 구식 통계 또는 그런 식으로. –

+0

같은 데이터베이스! – Yogesh

답변

0

SQL Server는 코드 실행 방법의 "계획"을 저장합니다.

작은 프로 시저를 작은 데이터 집합에 대해 실행하면 작은 데이터 집합에 맞게 최적화됩니다. 대용량 데이터 세트의 경우에는 그 반대입니다.

2008 년에 멋진 OPTIMIZE FOR 기능이 있었지만 2005 년에는 WITH RECOMPILE으로 붙어 있습니다. 즉, 실행될 때마다 다시 컴파일되므로 어떤 경우에는 가장 최적입니다.

+0

정보 주셔서 감사합니다. SQL Server 2005에서이 두 개의 procs를 실행합니다. – Yogesh

관련 문제