토토 커뮤니티 기준단순히 쿼리에 의해 반환될 행을 찾는 것 외에도 색인은 특정 정렬 순서로 행을 전달할 수 있습니다. 이를 통해 쿼리의토토 커뮤니티 기준별도의 정렬 단계 없이 사양이 적용됩니다. 현재 지원되는 인덱스 유형 중PostgreSQL, B-트리만 정렬된 출력을 생성할 수 있습니다. 다른 인덱스 유형은 지정되지 않은 구현 종속 순서로 일치하는 행을 반환합니다.
기획자는 만족을 고려할 것입니다.토토 커뮤니티 기준사양과 일치하는 사용 가능한 인덱스를 스캔하거나 테이블을 물리적 순서로 스캔하고 명시적인 정렬을 수행하여 사양을 지정합니다. 테이블의 많은 부분을 스캔해야 하는 쿼리의 경우 순차 액세스 패턴을 따르기 때문에 디스크 I/O가 덜 필요하므로 인덱스를 사용하는 것보다 명시적 정렬이 더 빠를 가능성이 높습니다. 인덱스는 몇 개의 행만 가져와야 할 때 더 유용합니다. 중요한 특수 사례는 다음과 같습니다.토토 커뮤니티 기준함께한도 n: 명시적 정렬은 첫 번째 데이터를 식별하기 위해 모든 데이터를 처리해야 합니다.n행, 그러나 일치하는 색인이 있는 경우토토 커뮤니티 기준, 첫 번째n나머지를 전혀 스캔하지 않고 행을 직접 검색할 수 있습니다.
기본적으로 B-트리 인덱스는 항목을 오름차순으로 저장하며 마지막은 null입니다. 이는 열의 인덱스를 정방향으로 스캔함을 의미합니다.x만족스러운 출력 생성x순으로 토토 커뮤니티(좀 더 장황하게 말하면,ORDER BY x ASC NULL이 마지막임). 인덱스를 뒤로 스캔하여 만족스러운 출력을 생성할 수도 있습니다.ORDER BY x DESC(좀 더 장황하게 말하면,ORDER BY x DESC NULLS 먼저, 이후NULL이 먼저임기본값은설명으로 토토 커뮤니티).
옵션을 포함하여 B-트리 색인의 순서를 조정할 수 있습니다.ASC, 설명, NULL이 먼저임및/또는NULL이 마지막임색인을 생성할 때; 예를 들어:
CREATE INDEX test2_info_nulls_low ON test2(정보가 NULL부터 먼저); CREATE INDEX test3_desc_index ON test3(ID DESC NULLS LAST);
먼저 Null을 사용하여 오름차순으로 저장된 인덱스는 다음 중 하나를 충족할 수 있습니다.ORDER BY x ASC NULL 먼저또는ORDER BY x DESC NULLS 마지막스캔되는 방향에 따라 다릅니다.
뒤로 스캔 가능성과 함께 두 가지 옵션이 다음의 모든 변형을 포괄할 때 왜 굳이 네 가지 옵션을 모두 제공하는지 궁금할 것입니다.토토 커뮤니티 기준. 단일 열 인덱스에서는 옵션이 실제로 중복되지만 다중 열 인덱스에서는 유용할 수 있습니다. 2열 인덱스를 고려해보세요.(x, y): 만족할 수 있습니다x, y로 토토 커뮤니티앞으로 스캔하면, 또는ORDER BY x DESC, y DESC뒤로 스캔하면. 하지만 애플리케이션이 자주 사용해야 할 수도 있습니다.ORDER BY x ASC, y DESC. 일반 인덱스에서 해당 순서를 얻을 수 있는 방법은 없지만 인덱스가 다음과 같이 정의된 경우 가능합니다.(x ASC, y DESC)또는(x DESC, y ASC).
분명히 기본이 아닌 정렬 순서를 사용하는 인덱스는 상당히 특수한 기능이지만 때로는 특정 쿼리에 대해 엄청난 속도 향상을 가져올 수 있습니다. 이러한 인덱스를 유지할 가치가 있는지 여부는 특별한 정렬 순서가 필요한 쿼리를 얼마나 자주 사용하는지에 따라 달라집니다.