IT/SQL SERVER

SQL Server, SELECT 문 처리.

쓸만한게없네 2013. 5. 15. 13:43

다시 한 번 기본을..

 

SQL Server가 단일 SELECT 문을 처리하는 데 사용하는 기본 단계는 다음과 같습니다.

1. 파서는 SELECT 문을 검색하고 그 결과를 키워드, 식, 연산자 및 식별자와 같은 논리 단위로 분류합니다.

 

2. 시퀀스 트리라고도 하는 쿼리 트리가 작성되어 결과 집합에서 필요로 하는 서식으로 원본 데이터를 변환하는 데 필요한 논리 단계를 정의합니다.

 

3. 쿼리 최적화 프로그램은 소스 테이블에 액세스할 수 있는 여러 다른 방법을 분석합니다. 그런 후 리소스 사용을 줄이는 동시에 결과를 가장 빨리 반환하는 일련의 단계를 선택합니다. 쿼리 트리는 이러한 일련의 단계가 기록되도록 업데이트됩니다. 최적화된 최종 쿼리 트리 버전은 실행 계획이라고 합니다.

 

4. 관계형 엔진이 실행 계획을 실행하기 시작합니다. 기본 테이블의 데이터를 필요로 하는 단계가 처리될 때 관계형 엔진은 저장소 엔진이 관계형 엔진에서 요청된 행 집합의 데이터를 무시하도록 요청합니다.

 

5. 관계형 엔진은 저장소 엔진에서 반환된 데이터를 결과 집합에 대해 정의된 서식으로 처리하고 클라이언트에 결과 집합을 반환합니다.

 

http://msdn.microsoft.com/ko-kr/library/ms190623(v=sql.100).aspx