SQL Server Database Engine 은 두 가지 주요한 구성요소가 있다.

1. Storage Engine

2. Query Processor (Relational Engine)

 

1. Storage Engine 은 데이터 읽기를 관여한다. 디스크와 메모리 사이에서 데이터 무결성을 유지하면서 그럭저럭 동시성을 최적화한다.

 

2. Query Processor 는 SQL Server 쿼리들의 최적의 실행을 고안하고, 그 계획을 실행하고, 결과를 반환한다.

 

Parsing and binding :

쿼리가 구문분석이 되고, 묶인다.

쿼리가 타당하면, 이 단계의 결과물은 논리적 Tree이고, 반드시 실행되어야 하는 쿼리의 논리적 운영을 보여주는 트리안의 각 노드 예를 들면, 특정 테이블을 읽는다던지, 조인을 수행한다던지

 

논리적 Tree 는

 

 

바인딩 단계에서

SQL Server 는 object name들이 존재하는지, 관련된 모든 parse tree에 있는 테이블이름과 컬럼이름이 system catalog상 일치하는지 확실히 한다. 이 단계의 결과물을 algebrized Tree라고 하며, 이 것이 Query Optimizer 에게 보내진다.

by 짱구를꼭말려 2016. 3. 11. 22:44