각 색인 액세스 방법은 다음의 행으로 설명됩니다.pg_am시스템 카탈로그(참조섹션 43.3). 주요 내용은 에이pg_am행은 다음을 참조합니다.pg_proc색인을 식별하는 토토 캔 액세스 메소드에 의해 제공되는 액세스 함수. API 이러한 함수는 이 장의 뒷부분에서 정의됩니다. 게다가, 그만큼pg_am행은 몇 가지 고정된 항목을 지정합니다. 지원 여부와 같은 액세스 방법의 속성 다중 열 인덱스. 현재 특별한 지원은 없습니다. 생성 또는 삭제용pg_am토토 캔; 새로운 액세스 방법을 작성할 수 있는 사람은 누구나 적절한 행을 삽입할 수 있어야 합니다.
유용하려면 색인 액세스 방법에는 다음 중 하나가 있어야 합니다. 더연산자 클래스다음에 정의됨토토 사이트 순위 :, pg_amop, 그리고pg_amproc. 이 항목을 사용하면 계획자가 어떤 종류의 쿼리 제한을 사용할 수 있는지 결정 이 액세스 방법의 인덱스입니다. 연산자 클래스는 다음에 설명되어 있습니다.PostgreSQL : 문서 : 8.2 : 토토 커뮤니티 대한 연계 연장, 이는 전제 조건입니다. 이 장을 읽기 위한 자료입니다.
개별 색인은 다음으로 정의됩니다.pg_class물리적 관계로 설명하는 토토 캔과 apg_index색인의 논리적 내용을 표시하는 항목, 즉 가지고 있는 인덱스 열 집합과 해당 열의 의미 연관된 연산자 클래스에 의해 캡처된 대로입니다. 인덱스 열 (키 값)은 기본 테이블의 단순 열일 수 있습니다. 또는 테이블 행에 대한 표현식입니다. 인덱스 액세스 방법 일반적으로 인덱스 키 값이 어디서 오는지 관심이 없습니다. (항상 미리 계산된 키 값이 전달됩니다) 그러나 매우 연산자 클래스 정보에 관심이 있는pg_index. 이 두 카탈로그 토토 캔은 모두 의 일부로 액세스됨관계데이터 인덱스의 모든 작업에 전달되는 구조입니다.
일부 플래그 열pg_am명백하지 않은 의미가 있습니다. 요구 사항amcanunique에서 논의됨섹션 49.5. 그만큼amcanmulticol플래그는 액세스가 메소드는 다중 열 인덱스를 지원하는 반면amOptionalkey스캔을 허용한다고 주장합니다 첫 번째 토토 캔에는 색인 생성 가능 제한 조항이 제공되지 않습니다. 인덱스 열. 언제amcanmulticol이다 거짓,amOptionalkey본질적으로 액세스 방법이 없이 전체 인덱스 스캔을 허용하는지 여부를 나타냅니다. 모든 제한 조항. 다중을 지원하는 액세스 방법 인덱스 열반드시열의 일부 또는 전부에 대한 제한 사항을 생략하는 스캔 지원 첫 번째 이후; 그러나 그들은 일부를 요구하는 것이 허용됩니다 첫 번째 인덱스 열에 표시되는 제한 사항은 다음과 같습니다. 설정으로 표시됨amOptionalkey거짓.amindexnulls그렇다고 주장합니다 NULL 키 값에 대해 인덱스 항목이 생성됩니다. 대부분의 이후 인덱싱 가능한 연산자는 엄격하므로 다음에 대해 TRUE를 반환할 수 없습니다. NULL 입력, 인덱스를 저장하지 않는 것이 언뜻 보기에 매력적입니다. null 값에 대한 항목: 인덱스에서 반환할 수 없습니다. 어쨌든 스캔하세요. 그러나 인덱스 스캔이 다음과 같은 경우 이 인수는 실패합니다. 주어진 인덱스 열에 대한 제한 조항이 없습니다. 실제로는 이 이는 다음과 같은 인덱스를 의미합니다.amOptionalkeytrue는 null을 색인화해야 합니다. 플래너는 스캔 키가 없는 인덱스를 사용하기로 결정할 수도 있습니다. 모두. 관련 제한 사항은 인덱스 액세스 방법이 여러 인덱스 열을 지원합니다반드시인덱싱 null 값 지원 첫 번째 열 이후에는 플래너가 index는 이러한 열을 제한하지 않는 쿼리에 사용할 수 있습니다. 예를 들어 (a,b)에 대한 인덱스와어디에서 a = 4. 시스템은 다음을 가정합니다. 인덱스는 다음을 사용하여 행을 검색하는 데 사용할 수 있습니다.a = 4, 색인이 행을 생략하는 경우 잘못된 것입니다.b널입니다. 그러나 다음과 같은 행을 생략하는 것은 괜찮습니다. 첫 번째 인덱스 열이 null입니다. 따라서,amindexnulls다음의 경우에만 true로 설정되어야 합니다. 인덱스 액세스 방법은 임의의 행을 포함하여 모든 행을 인덱스합니다. null 값의 조합입니다.