50.1. 사설 토토 경로

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

  1. 응용 프로그램에서 다음으로의 연결포스트그레SQL서버를 구축해야 합니다. 응용 프로그램은 서버에 사설 토토를 전송하고 서버가 다시 보낸 결과를 받기를 기다립니다.

  2. 파서 단계응용 프로그램이 전송한 쿼리에서 올바른 구문을 확인하고 다음을 생성합니다.사설 토토 트리.

  3. 시스템 재작성파서 단계에서 생성된 사설 토토 트리를 가져와서 검색합니다.규칙(다음에 저장됨시스템 카탈로그)을 사설 토토 트리에 적용합니다. 이는 다음과 같은 변환을 수행합니다.규칙 본문.

    다시 쓰기 시스템의 한 응용 프로그램은 다음을 실현하는 것입니다.조회. 뷰(예: a가상 테이블)이 생성되면 다시 쓰기 시스템은 사용자의 사설 토토를에 액세스하는 사설 토토로 다시 작성합니다.기본 테이블다음에 제공됨뷰 정의대신.

  4. 플래너/옵티마이저(재작성된) 사설 토토 트리를 가져와서 다음을 생성합니다.사설 토토 계획이것이 입력이 될 것입니다집행자.

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

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

다음 섹션에서는 위에 나열된 각 항목에 대한 더 나은 이해를 돕기 위해 더 자세히 다룰 것입니다.PostgreSQL의 내부 제어 및 데이터 구조.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.