CLUSTER — 인덱스에 따라 테이블 토토 베이링
토토 베이 [상세]테이블_이름[ 사용 중색인_이름] 토토 베이(옵션[, ...] )테이블_이름[ 사용 중색인_이름] 토토 베이 [상세]어디에서옵션다음 중 하나일 수 있습니다.자세한 내용 [부울]
토토 베이지시포스트그레SQL다음으로 지정된 테이블을 토토 베이링합니다.테이블_이름다음에 의해 지정된 색인을 기준으로색인_이름. 인덱스는 이미 정의되어 있어야 합니다.테이블_이름.
테이블이 토토 베이링되면 인덱스 정보에 따라 물리적으로 재정렬됩니다. 토토 베이링은 일회성 작업입니다. 이후에 테이블이 업데이트되면 변경 사항이 토토 베이링되지 않습니다. 즉, 인덱스 순서에 따라 새 행이나 업데이트된 행을 저장하려고 시도하지 않습니다. (원하는 경우 명령을 다시 실행하여 주기적으로 다시 토토 베이링할 수 있습니다. 또한 테이블의채우기 요소storage 매개변수를 100% 미만으로 설정하면 업데이트 중에 토토 베이 순서를 유지하는 데 도움이 될 수 있습니다. 왜냐하면 충분한 공간을 사용할 수 있는 경우 업데이트된 행이 동일한 페이지에 유지되기 때문입니다.)
테이블이 토토 베이링되면,포스트그레SQL토토 베이된 인덱스를 기억합니다. 양식토토 베이이전과 동일한 인덱스를 사용하여 테이블을 다시 토토 베이링합니다. 다음을 사용할 수도 있습니다.테이블_이름토토 베이또는토토 베이 없이 설정형태테이블 변경향후 토토 베이 작업에 사용할 색인을 설정하거나 이전 설정을 삭제합니다.
토토 베이매개변수 없이 호출 사용자가 소유한 현재 데이터베이스의 이전에 토토 베이된 모든 테이블 또는 수퍼유저가 호출한 경우 해당 테이블을 모두 다시 토토 베이링합니다. 이 형태는토토 베이트랜잭션 블록 내에서는 실행할 수 없습니다.
테이블이 토토 베이링될 때,접속 독점잠금이 획득되었습니다. 이렇게 하면 다른 데이터베이스 작업(읽기 및 쓰기 모두)이 테이블에서 작동하지 않습니다.토토 베이완료되었습니다.
테이블_이름테이블의 이름(스키마 한정).
색인_이름색인의 이름.
상세각 테이블이 토토 베이링됨에 따라 진행 보고서를 인쇄합니다.
부울선택한 옵션을 켜야 할지 꺼야 할지 지정합니다. 쓸 수 있습니다참, ON또는1옵션을 활성화하고거짓, 꺼짐또는0비활성화합니다.부울값을 생략할 수도 있습니다. 이 경우참가정됩니다.
테이블 내에서 단일 행에 무작위로 액세스하는 경우 테이블에 있는 데이터의 실제 순서는 중요하지 않습니다. 그러나 일부 데이터에 다른 데이터보다 더 많이 액세스하는 경향이 있고 이를 함께 그룹화하는 인덱스가 있는 경우 다음을 사용하는 것이 좋습니다.토토 베이. 테이블에서 인덱싱된 값 범위를 요청하거나 일치하는 여러 행이 있는 단일 인덱싱된 값을 요청하는 경우,토토 베이색인이 일치하는 첫 번째 행에 대한 테이블 페이지를 식별하면 일치하는 다른 모든 행이 이미 동일한 테이블 페이지에 있으므로 디스크 액세스를 절약하고 쿼리 속도를 높이기 때문에 도움이 됩니다.
토토 베이지정된 인덱스에 대한 인덱스 스캔 또는 (인덱스가 B-트리인 경우) 순차 스캔과 정렬을 사용하여 테이블을 다시 정렬할 수 있습니다. 플래너 비용 매개변수와 사용 가능한 통계 정보를 기반으로 더 빠른 방법을 선택하려고 시도합니다.
인덱스 스캔이 사용되면 인덱스 순서대로 테이블 데이터를 포함하는 테이블의 임시 복사본이 생성됩니다. 테이블의 각 인덱스에 대한 임시 복사본도 생성됩니다. 따라서 최소한 테이블 크기와 인덱스 크기를 합한 것과 동일한 디스크 여유 공간이 필요합니다.
순차 스캔 및 정렬이 사용되면 임시 정렬 파일도 생성되므로 최대 임시 공간 요구 사항은 테이블 크기와 인덱스 크기의 두 배입니다. 이 방법은 인덱스 스캔 방법보다 빠른 경우가 많지만 디스크 공간 요구 사항이 감당할 수 없는 경우 임시로 설정하여 이 선택을 비활성화할 수 있습니다.enable_sort에꺼짐.
설정하는 것이 좋습니다maintenance_work_mem합리적으로 큰 값(단, 전용으로 할당할 수 있는 RAM 용량을 초과하지 않음토토 베이작업) 토토 베이링 전.
플래너는 테이블 순서에 대한 통계를 기록하므로 다음을 실행하는 것이 좋습니다.분석새로 토토 베이링된 테이블에. 그렇지 않으면 플래너가 쿼리 계획을 잘못 선택할 수 있습니다.
왜냐하면토토 베이어떤 인덱스가 토토 베이되었는지 기억하고, 처음에 수동으로 토토 베이링하려는 테이블을 토토 베이링한 다음 실행되는 주기적인 유지 관리 스크립트를 설정할 수 있습니다.토토 베이매개변수가 없으므로 원하는 테이블이 주기적으로 다시 토토 베이됩니다.
각 백엔드 실행 중토토 베이다음에 진행 상황을 보고합니다.pg_stat_progress_cluster보기. 참조섹션 28.4.4자세한 내용은.
파티션된 테이블을 토토 베이링하면 지정된 파티션된 인덱스의 파티션을 사용하여 각 파티션이 토토 베이됩니다. 분할된 테이블을 토토 베이링할 때 인덱스를 생략할 수 없습니다.
테이블 토토 베이링직원색인을 기준으로employees_ind:
employee_ind를 사용하는 토토 베이 직원;
토토 베이직원이전에 사용된 것과 동일한 인덱스를 사용하는 테이블:
토토 베이 직원;
이전에 토토 베이된 데이터베이스의 모든 테이블을 토토 베이링하십시오:
토토 베이;
없습니다토토 베이SQL 표준의 문입니다.
구문
토토 베이색인_이름켜짐테이블_이름
8.3 이전 버전과의 호환성도 지원됩니다.PostgreSQL버전.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.