이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.윈 토토 PostgreSQL : 문서 : 17 : Cluster버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

토토 캔

이름

CLUSTER -- 다음에 따라 테이블을 토토 캔링합니다. 색인

시놉시스

토토 캔 [상세]테이블 이름[ 사용 중색인이름]
토토 캔 [상세]

설명

토토 캔지시포스트그레SQL다음에 의해 지정된 테이블을 토토 캔링합니다테이블 이름색인 기준 에 의해 지정됨색인이름. 인덱스 이미 정의되어 있어야 합니다.테이블 이름.

테이블이 토토 캔링되면 다음을 기준으로 물리적으로 재정렬됩니다. 인덱스 정보입니다. 토토 캔링은 일회성 작업입니다. 이후에 테이블이 업데이트되고 변경 사항이 토토 캔링되지 않습니다. 즉, 새 행이나 업데이트된 행을 저장하려고 시도하지 않습니다. 색인 순서에 따라. (원한다면 할 수 있다. 명령을 다시 실행하여 주기적으로 다시 토토 캔링합니다. 또한, 테이블 세팅하기필팩터저장 매개변수를 100% 미만으로 설정하면 토토 캔를 보존하는 데 도움이 될 수 있습니다. 업데이트된 행이 우선적으로 적용되므로 업데이트 중에 순서를 지정합니다. 같은 페이지에 보관됩니다.)

테이블이 토토 캔링되면,포스트그레SQL어떤 색인이었는지 기억함 으로 토토 캔링되었습니다. 양식토토 캔테이블 이름다음을 사용하여 테이블을 다시 토토 캔링합니다. 이전과 동일한 인덱스입니다.

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

테이블이 토토 캔링될 때,액세스 독점잠금이 획득되었습니다. 이렇게 하면 다른 것을 방지할 수 있습니다. 데이터베이스 작업(읽기 및 쓰기 모두)이 테이블은 다음까지입니다.토토 캔완료되었습니다.

매개변수

테이블 이름

테이블의 이름(스키마 한정).

색인이름

색인의 이름.

상세

각 테이블이 토토 캔링됨에 따라 진행 보고서를 인쇄합니다.

참고

하나의 행에 무작위로 접근하는 경우 테이블에서 테이블에 있는 데이터의 실제 순서는 중요하지 않습니다. 그러나 일부 데이터에 다른 데이터보다 더 많이 액세스하는 경향이 있는 경우 이를 함께 그룹화하는 색인이 있으므로 이점을 얻을 수 있습니다. 사용으로부터토토 캔. 만약 당신이 테이블 또는 단일에서 인덱싱된 값 범위 요청 일치하는 여러 행이 있는 색인화된 값토토 캔도움이 될 것입니다. 일단 색인을 생성하면 일치하는 첫 번째 행에 대한 테이블 페이지를 식별합니다. 일치하는 다른 행은 이미 동일한 테이블에 있을 수 있습니다. 페이지를 사용하므로 디스크 액세스가 절약되고 쿼리 속도가 빨라집니다.

토토 캔 작업 중 테이블의 임시 복사본은 인덱스 순서대로 테이블 데이터를 포함하는 생성됩니다. 테이블의 각 인덱스에 대한 임시 복사본도 생성됩니다. 따라서 최소한 합계와 동일한 디스크 여유 공간이 필요합니다. 테이블 크기와 인덱스 크기입니다.

왜냐하면토토 캔기억합니다 토토 캔링 정보를 통해 원하는 테이블을 토토 캔링할 수 있습니다. 처음에는 수동으로 토토 캔링하고 시간 제한 이벤트를 설정했습니다. 와 유사진공그래서 테이블은 주기적으로 재토토 캔링됩니다.

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

데이터를 토토 캔링하는 또 다른 방법이 있습니다.토토 캔명령은 다음과 같이 원본 테이블을 재정렬합니다. 지정한 인덱스를 사용하여 스캔합니다. 속도가 느려질 수 있습니다. 인덱스의 테이블에서 행을 가져오기 때문에 큰 테이블 순서가 있으며 테이블이 무질서한 경우 항목은 무작위입니다. 이동된 모든 행에 대해 하나의 디스크 페이지가 검색됩니다. (PostgreSQL캐시가 있지만 큰 테이블의 대부분은 캐시에 맞지 않습니다.) 다른 방법으로는 테이블을 토토 캔링하려면 다음을 사용하세요.

테이블 생성새 테이블AS
    선택 *에서테이블주문 기준컬럼 목록;

다음을 사용하는PostgreSQL원하는 순서를 생성하는 코드 정렬; 이것은 보통 많은 무질서한 데이터에 대한 인덱스 스캔보다 빠릅니다. 그런 다음 당신은 이전 테이블, 사용테이블 변경 ... 이름 바꾸기에 이름 바꾸기새 테이블이전 이름으로, 테이블의 인덱스를 다시 만듭니다. 이것의 가장 큰 단점은 접근 방식은 OID, 제약 조건, 외부 항목을 보존하지 않는다는 것입니다. 주요 관계, 부여된 권한 및 기타 보조 테이블 속성 — 이러한 모든 항목은 수동으로 재창조되었습니다. 또 다른 단점은 이 방법에는 정렬이 필요하다는 것입니다. 테이블 자체와 크기가 거의 같은 임시 파일이므로 피크 디스크 사용량은 테이블 크기의 2배가 아닌 약 3배입니다. 테이블 크기.

테이블 토토 캔링직원에 색인의 기초employees_ind:

employee_ind를 사용하는 토토 캔 직원;

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

토토 캔 직원;

이전에 데이터베이스에 있던 모든 테이블을 토토 캔링합니다. 토토 캔됨:

토토 캔;

호환성

없습니다토토 캔문의 SQL 표준.

구문

토토 캔색인이름켜짐테이블 이름

8.3 이전 버전과의 호환성도 지원됩니다.PostgreSQL버전.

또한 참조

토토 캔DB