이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 동일한 페이지를 볼 수 있습니다윈 토토 캔 PostgreSQL : 문서 : 17 : Cluster버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

토토 캔

토토 캔 - 인덱스에 따라 테이블 토토 캔

시놉시스

토토 캔 [Verbose]table_name[사용index_name]
토토 캔 [Verbose]

설명

토토 캔지침postgresqltable_nameindex_name. 인덱스는 이미 정의되어 있어야합니다table_name.

테이블이 토토 캔링되면 인덱스 정보에 따라 물리적으로 재정렬됩니다. 토토 캔링은 일회성 작업입니다. 테이블이 업데이트되면 변경 사항이 토토 캔되지 않습니다. 즉, 인덱스 순서에 따라 새 행 또는 업데이트 된 행을 저장하려는 시도는 없습니다. (원하는 경우, 명령을 다시 발행하여 정기적으로 재 토토 캔 할 수 있습니다. 또한 테이블 설정FillFactor100% 미만의 스토리지 매개 변수는 업데이트 중 토토 캔 순서를 보존하는 데 도움이 될 수 있습니다. 업데이트 된 행은 충분한 공간을 사용할 수있는 경우 업데이트 된 행이 같은 페이지에 보관되어 있으므로.)

테이블이 토토 캔링되면PostgreSQL토토 캔 된 색인을 기억합니다. 양식토토 캔table_name이전과 동일한 인덱스를 사용하여 테이블을 Reclusters. 당신은 또한를 사용할 수 있습니다.토토 캔또는토토 캔없이 설정형태스포츠 토토 PostgreSQL향후 토토 캔 작업에 사용할 인덱스를 설정하거나 이전 설정을 지우려면

토토 캔매개 변수 Reclusters가 없으면 호출 사용자가 소유 한 현재 데이터베이스의 이전에 토토 캔 된 모든 테이블 또는 슈퍼 사용자가 호출 할 경우 모든 테이블. 이 형태의토토 캔트랜잭션 블록 내부에서 실행할 수 없습니다.

테이블을 토토 캔링 할 때액세스 독점잠금이 획득되었습니다. 이것은 다른 데이터베이스 작업 (읽기 및 쓰기)이 테이블에서 작동하는 것을 방지합니다.토토 캔완료되었습니다.

매개 변수

table_name

표의 이름 (스키마 자격).

index_name

색인 이름.

Verbose

각 테이블이 토토 캔링 될 때 진행 보고서를 인쇄합니다.

노트

테이블 내에서 단일 행에 무작위로 액세스하는 경우 테이블의 데이터의 실제 순서는 중요하지 않습니다. 그러나 다른 데이터보다 일부 데이터에 더 액세스하는 경향이 있고 함께 그룹화하는 색인이 있으면이 도움이 될 것입니다.토토 캔. 테이블에서 인덱스 된 값 범위 또는 일치하는 여러 행이있는 단일 인덱스 값을 요청하는 경우토토 캔인덱스가 일치하는 첫 번째 행의 테이블 페이지를 식별하면 일치하는 다른 모든 행은 이미 동일한 테이블 페이지에있을 것이므로 디스크 액세스를 저장하고 쿼리 속도를 높이기 때문에 도움이됩니다..

토토 캔지정된 인덱스의 인덱스 스캔을 사용하여 테이블을 다시 정렬 할 수 있거나 (인덱스가 b- 트리 인 경우) 순차적 스캔과 정렬을 할 수 있습니다. 플래너 비용 매개 변수 및 사용 가능한 통계 정보를 기반으로 더 빠른 방법을 선택하려고 시도합니다.

인덱스 스캔이 사용되면 테이블 데이터가 포함 된 테이블 데이터가 생성됩니다. 테이블의 각 지수의 임시 사본도 생성됩니다. 따라서 디스크에 테이블 크기의 합 및 인덱스 크기와 동일한 디스크의 여유 공간이 필요합니다.

순차적 인 스캔 및 정렬을 사용하면 임시 정렬 파일도 생성되므로 피크 임시 공간 요구 사항이 테이블 크기의 두 배나 인덱스 크기가됩니다. 이 방법은 종종 인덱스 스캔 방법보다 빠르지 만 디스크 공간 요구 사항을 견딜 수없는 경우 일시적으로 설정 하여이 선택을 비활성화 할 수 있습니다enable_sorttooff.

설정하는 것이 좋습니다Maintenance_Work_mem합리적으로 큰 값으로 (그러나 당신이 할 수있는 RAM의 양보다토토 캔작동) 토토 캔링 전.

플래너는 테이블 순서에 대한 통계를 기록하기 때문에 실행하는 것이 좋습니다분석새로 토토 캔 된 테이블에서. 그렇지 않으면 플래너는 쿼리 계획을 열악하게 선택할 수 있습니다.

왜냐하면토토 캔토토 캔링 된 인덱스를 기억하고, 처음으로 토토 캔링 원하는 테이블을 처음으로 토토 캔링 한 다음 실행하는 주기적 유지 보수 스크립트를 설정할 수 있습니다토토 캔원하는 테이블이 주기적으로 재고가되도록 매개 변수가 없으면

테이블 토토 캔직원지수를 기준으로직원 _ind:

직원을 사용하는 토토 캔 직원 _ind;

토토 캔직원이전에 사용 된 것과 동일한 인덱스를 사용한 테이블 :

토토 캔 직원;

토토 캔 이전에 토토 캔 된 데이터베이스의 모든 테이블 :

토토 캔;

호환성

없음토토 캔SQL 표준의 명령문.

구문

토토 캔index_nameontable_name

이전 8.3과의 호환성을 위해 지원됩니다.postgresql버전.

참조

ClusterDB