저장 프로시저는 단일 실행 계획으로 컴파일되는 Transact-SQL 문의 그룹입니다.

Microsoft® SQL Server™ 2000 저장 프로시저는 다음과 같은 4가지 방식으로 데이터를 반환합니다.

  • 정수 또는 문자 값과 같은 데이터나 커서 변수를 반환하는 출력 매개 변수(커서는 한 번에 한 행씩 검색할 수 있는 결과 집합)
  • 항상 정수 값인 반환 코드
  • 저장 프로시저 안 또는 저장 프로시저가 호출하는 다른 저장 프로시저 안에 포함된 각 SELECT 문의 결과 집합
  • 저장 프로시저 밖에서 참조할 수 있는 전역 커서

일반 SQL구문을 수행할 경우

- 처음 수행시

1. 구문 분석단계 - SQL구문의 문법을 검사합니다.

2. 표준화 - DB의 개체들(테이블 등)에 대해서 검사합니다.

3. 보안 점검 - 해당하는 DB개체들에 대한 사용자의 사용 권한을 검사합니다.

4. 최적화 - 최적의 성능을 내기위한 사항을 적용합니다.

5. 컴파일

 

- 반복 수행시

1. 처음 수행한 일반 SQL구문의 실행 계획이 캐싱되어 있는지 확인후 이를 수행합니다

2. 캐싱되어 있지 않을 경우 처음수행시의 5단계를 다시 수행함.

 

 

저장 프로시져를 수행할 경우

- 생성시

1. 구문 분석 단계 - 프로시져 생성 구문의 SQL구문들을 검사합니다.

2. 표준화 - DB의 개체들(테이블 등)에 대해서 검사합니다.

3. 보안 점검 - 프로시져에 대해서 생성이 가능한지 검사합니다.

4. 해당 프로시져의 구문과 생성 정보를 저장합니다.

 

- 첫 실행시

1. 보안 점검 - 해당하는 DB개체들에 대한 사용자의 사용 권한을 검사합니다.

2. 최적화 - 최적의 성능을 내기위한 사항을 적용합니다.

3. 컴파일후 수행 계획을 생성후 캐시에 저장후 실행합니다.

 

- 반복 수행시

1. 실행 계획이 캐싱이 된지 확인후 실행 합니다.

2. 캐시에 실행 계획이 없을 경우 - 처음 실행 과정을 반복 합니다.

안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히아이스

댓글을 달아 주세요