[MSSQL]SQL 문장과 PROCEDURE 문의 실행 순서 비교

2012. 4. 25. 13:07NOTE/IT

SQL 문장과 PROCEDURE 문의 실행 순서 비교

일반 SQL 문

1. 구문 분석(Parsing) : 키워드를 분리하고 문법 검사를 한다.

2. 표준화(Standardization) : 각 Object 의 이름을 확인한다.

3. 보안 점검 : 각 Object에 대한 적절한 권한이 있는지 검사한다.

4. 최적화(Optimaze) : 가장 빠른 성능을 낼 수 있도록 , 색인, 조인, 잠금 등에 대한 결정.

5. COMPILE

  * 처음 실행시의 내용이 캐쉬에 있다면 ,또한 한글자도 틀리지 않다면,

     반복실행시 1~5 까지 모두 반복한다.



PROCEDURE 문

만들때 

1. 구문 분석(Parsing) : 키워드를 분리하고 문법을 검사를 한다.

2. 표준화(Standardization) : 각 Object 의 이름을 확인한다.

3. 보안 검사 : 각 Object 의 적적한 권한이 있는지 검사한다.

4. 결과는 syscomments와 sysobjects 에 저장한다.

첫 실행 시

1. 보안 검사 : 각 Object 의 적적한 권한이 있는지 검사한다.

2. 최적화 (Optimaze)

3. 컴파일하고 이에 따른 실행 계획(Execution plan) 을 만들어 캐쉬에 저장하고 실행한다.

반복 실행시

- 캐쉬에 실행 계획이 있을때 : 계획대로 진행

- 캐쉬에 실행 계획이 없을때 : 처음 실행할 때의 과정 반복.





PROCEDURE 사용 상 이점

한번만 실행 한다면 일반 SQL으로 진행이 더 간단(?)할지 모르지만

   반복된 작업을 수행 한다면 PROCEDURE를 이용하는 것이 엄청난(?) 결과의 이득을 줄 것이다.(준다) 


- 매번 컴파일 하지 않는다.

- 네트웍의 트래픽을 감소 시킨다.

- 보안 관리 용이

- 매개변수를 사용 할 수 있다.

- OUTPUT매개 변수 사용 가능.

- RETURN 값 사용 가능.


'NOTE > IT' 카테고리의 다른 글

[MSSQL]함수  (0) 2012.04.25
[MSSQL]프로시저 매개변수 사용하기 예제  (0) 2012.04.25
[MSSQL]저장 프로시저  (0) 2012.04.25
[MSSQL] 각종 예제  (0) 2012.04.25
[WINDOWS]DLL,OCX 등 시스템에 수동 등록(regsvr32)  (0) 2012.04.25