사설 토토 - 인덱스에 따라 테이블 사설 토토
사설 토토 [Verbose]table_name
[사용index_name
] 사설 토토 [Verbose]
사설 토토
지침PostgreSQLtable_name
index_name
. 인덱스는 이미 정의되어 있어야합니다table_name
.
테이블이 사설 토토링되면 인덱스 정보에 따라 물리적으로 재정렬됩니다. 사설 토토링은 일회성 작업입니다. 테이블이 업데이트되면 변경 사항이 사설 토토되지 않습니다. 즉, 인덱스 순서에 따라 새 행 또는 업데이트 된 행을 저장하려는 시도는 없습니다. (원하는 경우, 명령을 다시 발행하여 정기적으로 재 사설 토토 할 수 있습니다. 또한 테이블 설정FillFactor
100% 미만의 스토리지 매개 변수는 업데이트 중 사설 토토 순서를 보존하는 데 도움이 될 수 있습니다. 업데이트 된 행은 충분한 공간을 사용할 수있는 경우 업데이트 된 행이 같은 페이지에 보관되어 있으므로.).
테이블이 사설 토토링되면postgresql사설 토토 된 색인을 기억합니다. 양식사설 토토
이전과 동일한 인덱스를 사용하여 테이블을 Reclusters. 당신은 또한를 사용할 수 있습니다.table_name
사설 토토
또는사설 토토없이 설정
형태Alter Table향후 사설 토토 작업에 사용할 인덱스를 설정하거나 이전 설정을 지우려면
사설 토토
매개 변수 Reclusters 없이는 호출 사용자가 소유 한 현재 데이터베이스의 이전에 사설 토토 된 모든 테이블 또는 슈퍼 사용자가 호출 할 경우 그러한 모든 테이블을 사용합니다. 이 형태의사설 토토
트랜잭션 블록 내부에서 실행할 수 없습니다.
테이블이 사설 토토링 될 때액세스 독점
잠금이 인수되었습니다. 이것은 다른 데이터베이스 작업 (읽기 및 쓰기)이 테이블에서 작동하는 것을 방지합니다.사설 토토
완료되었습니다.
table_name
표의 이름 (스키마 자격).
index_name
색인의 이름.
Verbose
각 테이블이 사설 토토링 될 때 진행 보고서를 인쇄합니다.
테이블 내에서 단일 행에 무작위로 액세스하는 경우 테이블의 데이터의 실제 순서는 중요하지 않습니다. 그러나 다른 데이터보다 일부 데이터에 더 액세스하는 경향이 있고 함께 그룹화하는 색인이 있으면이 도움이 될 것입니다.사설 토토
. 테이블에서 인덱스 된 값 범위 또는 일치하는 여러 행이있는 단일 인덱스 값을 요청하는 경우사설 토토
인덱스가 일치하는 첫 번째 행의 테이블 페이지를 식별하면 일치하는 다른 모든 행은 이미 같은 테이블 페이지에있을 것이므로 디스크 액세스를 저장하고 쿼리 속도를 높이기 때문에 도움이됩니다..
사설 토토
지정된 인덱스의 인덱스 스캔을 사용하여 테이블을 다시 정렬 할 수 있거나 (인덱스가 B- 트리 인 경우) 순차적 스캔과 정렬을 할 수 있습니다. 플래너 비용 매개 변수 및 사용 가능한 통계 정보를 기반으로 더 빠른 방법을 선택하려고 시도합니다.
인덱스 스캔이 사용되면 테이블 데이터가 색인 순서로 포함 된 테이블의 임시 사본이 작성됩니다. 테이블의 각 지수의 임시 사본도 생성됩니다. 따라서 디스크에 테이블 크기의 합 및 인덱스 크기와 동일한 디스크의 여유 공간이 필요합니다.
순차적 인 스캔 및 정렬을 사용하면 임시 정렬 파일도 생성되므로 피크 임시 공간 요구 사항이 테이블 크기의 두 배나 인덱스 크기가됩니다. 이 방법은 종종 인덱스 스캔 방법보다 빠르지 만 디스크 공간 요구 사항을 견딜 수없는 경우 일시적으로 설정 하여이 선택을 비활성화 할 수 있습니다enable_sorttoOFF
.
설정하는 것이 좋습니다maintenance_work_mem합리적으로 큰 값으로 (그러나 당신이 할 수있는 RAM의 양보다사설 토토
작동) 사설 토토링 전.
플래너는 테이블 순서에 대한 통계를 기록하기 때문에 실행하는 것이 좋습니다분석새로 사설 토토 된 테이블에서. 그렇지 않으면 플래너는 쿼리 계획을 열악하게 선택할 수 있습니다.
때문에사설 토토
사설 토토 된 인덱스를 기억하고, 처음으로 사설 토토링 원하는 테이블을 사설 토토링 한 다음, 실행하는 주기적 유지 보수 스크립트를 설정할 수 있습니다사설 토토
원하는 테이블이 주기적으로 재활용되도록 매개 변수가 없으면
테이블 사설 토토직원
색인을 기준으로직원 _ind
:
직원을 사용하는 사설 토토 직원 _ind;
사설 토토직원
이전에 사용 된 것과 동일한 인덱스를 사용한 테이블 :
사설 토토 직원;
사설 토토 사설 토토 된 데이터베이스의 모든 테이블을 사설 토토링합니다.
사설 토토;
없음사설 토토
SQL 표준의 명령문.
구문
사설 토토index_name
ontable_name
Pre-8.3과의 호환성을 위해 지원됩니다.PostgreSQL버전.