저자:이 장은 원래 다음의 일부로 나타났습니다.심코빅스, 1998, 스테판 비엔나 대학교에서 준비한 Simkovics의 석사 논문 O.Univ.Prof.Dr.의 지시에 따른 기술. 게오르그 고틀롭 그리고 Univ.Ass. 잡지. 카트린 세이르.
이 장은 내부 구조에 대한 개요를 제공합니다. 백엔드포스트그레스. 가지고 난 후 다음 섹션을 읽으면 쿼리가 어떻게 실행되는지 알 수 있습니다. 처리됩니다. 여기서 자세한 설명을 기대하지 마세요(제 생각에는 모든 데이터 구조와 기능을 다루는 설명 이내에 사용됨포스트그레초과할 것입니다 1000페이지!). 이 장에서는 이해를 돕기 위해 작성되었습니다. 백엔드 내의 일반 제어 및 데이터 흐름은 결과를 보내달라고 요청합니다.
여기서 쿼리가 통과해야 하는 단계에 대한 간략한 개요를 제공합니다. 결과를 얻기 위해.
응용 프로그램에서 다음으로의 연결포스트그레스서버는 다음과 같아야 합니다 설립. 응용 프로그램은 쿼리를 다음으로 전송합니다. 서버에서 전송된 결과를 받습니다.
그파서 단계쿼리를 확인합니다 올바른 정보를 위해 응용 프로그램(클라이언트)에 의해 전송됩니다. 구문을 생성하고쿼리 트리.
그시스템 재작성이것은 파서 단계에서 생성된 쿼리 트리를 찾아 모든 항목을 찾습니다.규칙(다음에 저장됨시스템 카탈로그)에 적용하려면쿼리트리그리고 변환을 수행합니다 에 주어진규칙 본문. 하나 Rewrite 시스템 적용이 실현되었습니다. 의조회.
뷰에 대한 쿼리가 발생할 때마다(예: a가상 테이블)이 만들어지고 다시 쓰기 시스템이 만들어졌습니다. 사용자의 쿼리를 액세스하는 쿼리로 다시 작성합니다.기본 테이블다음에 주어진정의 보기대신.
그플래너/최적화 프로그램취한다 (재작성) 쿼리트리를 생성하고쿼리계획이것이 입력이 될 것입니다집행자.
먼저 가능한 모든 것을 창조함으로써 그렇게 합니다.경로동일한 결과로 이어집니다. 예를 들어 스캔할 관계에 대한 색인이 있는 경우 스캔을 위한 두 가지 경로. 한 가지 가능성은 간단합니다. 순차 스캔과 다른 가능성은 다음을 사용하는 것입니다. 색인. 다음으로 각 계획의 실행 비용은 다음과 같습니다. 예상하고 가장 저렴한 요금제를 선택하여 건네줍니다 뒤로.
실행자는 재귀적으로 다음 단계를 수행합니다.계획 트리그리고 도중에 튜플을 검색합니다 계획으로 표현됩니다. 실행자는 다음을 사용합니다.저장 시스템스캔하는 동안 관계, 수행정렬그리고조인, 평가합니다자격그리고 마침내 튜플이 파생되었습니다.
다음 섹션에서 우리는 위의 모든 내용을 다룰 것입니다 더 나은 이해를 돕기 위해 항목을 더 자세히 설명합니다.포스트그레스의 내부 통제와 데이터 구조.