이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 50.1. 윈 토토의 경로버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

46.1. 는 쿼리 경로

여기서 쿼리가 통과해야 하는 단계에 대한 간략한 개요를 제공합니다. 결과를 얻기 위해.

  1. 응용 프로그램에서 다음으로의 연결포스트그레SQL서버를 구축해야 합니다. 는 응용 프로그램은 서버에 쿼리를 전송하고 대기합니다. 서버에서 보낸 결과를 받습니다.

  2. 파서 단계쿼리를 확인합니다 올바른 구문을 위해 응용프로그램에 의해 전송되며 생성합니다쿼리 트리.

  3. 시스템 재작성쿼리 트리를 가져옵니다 파서 단계에서 생성되어 무엇이든 찾습니다.규칙(다음에 저장됨시스템 카탈로그)을 쿼리 트리에 적용합니다. 이는 다음을 수행합니다. 에 주어진 변환규칙 시체.

    다시 쓰기 시스템의 한 응용 프로그램은 다음을 실현하는 것입니다.조회. 뷰에 대한 쿼리가 발생할 때마다 (즉, a가상 테이블)이 만들어지고, 다시 쓰기 시스템은 사용자의 쿼리를 액세스하는 쿼리로 다시 작성합니다.기본 테이블다음에 제공됨뷰 정의대신.

  4. 플래너/최적화 프로그램다음을 취합니다 (재작성) 쿼리 트리를 생성하고질의 계획이것이 입력이 될 것입니다집행자.

    먼저 가능한 모든 것을 창조함으로써 그렇게 합니다경로동일한 결과로 이어집니다. 예를 들어 스캔할 관계에 대한 인덱스가 있고 두 가지 경로가 있습니다 스캔을 위해. 한 가지 가능성은 간단한 순차 스캔이며 다른 가능성은 인덱스를 사용하는 것입니다. 다음으로 비용은 각 경로의 실행이 추정되고 가장 저렴한 경로는 다음과 같습니다. 선택되었습니다. 가장 저렴한 경로는 완전한 계획으로 확장됩니다. 집행자가 사용할 수 있습니다.

  5. 실행자는 재귀적으로 다음 단계를 수행합니다.계획 트리그리고 표시된 방식으로 행을 검색합니다. 계획대로. 실행자는 다음을 사용합니다.스토리지 시스템관계를 스캔하는 동안 수행정렬그리고조인, 평가하다자격그리고 마침내 손을 잡았습니다 파생된 행을 되돌립니다.

다음 섹션에서는 위에 나열된 각 항목을 다룰 것입니다 더 나은 이해를 돕기 위해 항목을 더 자세히 설명합니다.포스트그레SQL의 내부 통제 및 데이터 구조.