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

사설 토토

이름

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

시놉시스

사설 토토색인이름켜짐테이블 이름사설 토토테이블 이름사설 토토

설명

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

테이블이 사설 토토링되면 다음을 기준으로 물리적으로 재정렬됩니다. 인덱스 정보입니다. 사설 토토링은 일회성 작업입니다. 이후에 테이블이 업데이트되고 변경 사항이 사설 토토링되지 않습니다. 즉, 새 행이나 업데이트된 행을 저장하려고 시도하지 않습니다. 색인 순서에 따라. 원한다면 할 수 있다 명령을 다시 실행하여 주기적으로 다시 사설 토토링합니다.

테이블이 사설 토토링되면,포스트그레SQL그것이 어느 색인에 있었는지 기억합니다 사설 토토. 양식사설 토토테이블 이름테이블을 다시 사설 토토링합니다. 이전에 사설 토토링된 것과 동일한 인덱스입니다.

사설 토토매개변수 없음 현재 데이터베이스의 모든 테이블을 다시 사설 토토링합니다. 사용자 소유 또는 슈퍼유저가 호출한 경우 모든 테이블을 호출합니다. (사설 토토링되지 않은 테이블은 포함되지 않습니다.) 이 형식은사설 토토내부에서는 호출할 수 없습니다. 거래 또는 기능.

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

매개변수

색인이름

색인의 이름.

테이블 이름

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

참고

사설 토토모든 가시성을 잃습니다. 누구에게나 테이블이 비어 있는 것처럼 보이게 만드는 튜플 정보 이전에 찍은 스냅샷사설 토토명령이 완료되었습니다. 그게사설 토토다음과 같은 애플리케이션에는 적합하지 않습니다. 사설 토토링되는 테이블에 액세스하는 트랜잭션이 실행됩니다. 동시에사설 토토. 이것이 가장 직렬화 가능한 트랜잭션으로 볼 수 있습니다. 트랜잭션 시작 시 하나의 스냅샷을 사용하지만 커밋된 읽기 트랜잭션도 영향을 받습니다.

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

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

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

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

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

테이블 생성새 테이블AS
    선택하다컬럼 목록발신테이블주문 기준컬럼 목록;

다음을 사용하는PostgreSQL코드 정렬 중주문 기준절 원하는 주문을 생성하세요. 이것은 일반적으로 정렬되지 않은 데이터에 대한 인덱스 스캔. 그런 다음 이전 테이블을 삭제하고 다음을 사용합니다.테이블 변경 ... 이름 바꾸기이름 바꾸기새 테이블이전 이름으로 변경하고 테이블의 인덱스를 다시 만듭니다. 그러나 이 접근 방식은 그렇지 않습니다. OID, 제약 조건, 외래 키 관계 유지, 승인 권한 및 테이블의 기타 보조 속성 — 모두 이러한 항목은 수동으로 다시 생성해야 합니다.

테이블 사설 토토링직원에 색인의 기초emp_ind:

사설 토토 emp_ind ON emp;

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

CLUSTER emp;

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

사설 토토;

호환성

없습니다사설 토토문의 SQL 표준.

또한 참조

사설 토토DB