2012. 4. 25. 13:07ㆍNOTE/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 |