Stored Procedure 생성 과정은 다음과 같습니다

각각을 처음 실행할 때, 다음과 같이 동작합니다

일반적인 SQL문은 처음 실행할 때, 다음과 같이 동작합니다
1. SQL 문법을 분석(Parse)합니다
2. 개체의 이름을 확인해서, 관련 테이블을 탐색합니다
3. 사용권한을 확인합니다
4. 쿼리를 최적화하기 위한 실행계획을 세웁니다
5. 이후, SQL 쿼리 컴파일 후, 실행계획 결과를 캐시에 등록합니다
6. 이제 컴파일된 결과를 실행합니다
이미 프로시저를 생성하는 단계에서 구문분석을 마쳤기 때문에,
이 과정을 제외하고는 앞선 SQL 쿼리문 동작방식과 동일합니다
앞서 프로시저 생성단계에서 지연된 이름 확인 과정을 거친다고 했는데,
생성과정에서 테이블이 없어 발생하던 오류는 실행 단계에서 확인합니다
만약 반복해서 각각을 실행한다면 어떻게 동작할까요?

캐시에서 확인한 뒤, 바로 실행합니다
단, 쿼리문 전체가 정확히 일치해야합니다
Stored Procedure도 동일하게 캐시의 데이터를 가져와 재사용합니다
즉, 두 방식 모두 동일한 요청에 대해서는 효율적으로 동작합니다