롤 토토지시포스트그레SQL다음으로 지정된 테이블을 롤 토토링합니다.테이블 이름색인 기준 에 의해 지정됨색인이름. 인덱스 이미 정의되어 있어야 합니다.테이블 이름.
테이블이 롤 토토링되면 다음을 기준으로 물리적으로 재정렬됩니다. 인덱스 정보입니다. 롤 토토링은 일회성 작업입니다. 이후에 테이블이 업데이트되고 변경 사항이 롤 토토링되지 않습니다. 즉, 새 행이나 업데이트된 행을 저장하려고 시도하지 않습니다. 색인 순서에 따라. 원한다면 할 수 있다 명령을 다시 실행하여 주기적으로 다시 롤 토토링합니다.
테이블이 롤 토토링되면,포스트그레SQL그것이 어느 색인에 있었는지 기억합니다 롤 토토. 양식롤 토토테이블 이름테이블을 다시 롤 토토링합니다. 이전에 롤 토토링된 것과 동일한 인덱스입니다.
롤 토토매개변수 없음 현재 데이터베이스의 모든 테이블을 다시 롤 토토링합니다. 사용자 소유 또는 슈퍼유저가 호출한 경우 모든 테이블을 호출합니다. (롤 토토링되지 않은 테이블은 포함되지 않습니다.) 이 형식은롤 토토내부에서는 실행할 수 없습니다. 거래 차단.
테이블이 롤 토토링될 때,액세스 독점잠금이 획득되었습니다. 이렇게 하면 다른 것을 방지할 수 있습니다. 데이터베이스 작업(읽기 및 쓰기 모두)이 테이블은 다음까지입니다.롤 토토완료되었습니다.
롤 토토모든 가시성을 잃습니다. 누구에게나 테이블이 비어 있는 것처럼 보이게 만드는 튜플 정보 이전에 찍은 스냅샷롤 토토명령이 완료되었습니다. 그게롤 토토다음과 같은 애플리케이션에는 적합하지 않습니다. 롤 토토링되는 테이블에 액세스하는 트랜잭션이 실행됩니다. 동시에롤 토토. 이것이 가장 직렬화 가능한 트랜잭션으로 볼 수 있습니다. 트랜잭션 시작 시 하나의 스냅샷을 사용하지만 커밋된 읽기 트랜잭션도 영향을 받습니다.
사용자가 하나의 행 내에서 무작위로 단일 행에 접근하는 경우 테이블에서 테이블에 있는 데이터의 실제 순서는 중요하지 않습니다. 그러나 일부 데이터에 다른 데이터보다 더 많이 액세스하는 경향이 있는 경우 이를 함께 그룹화하는 색인이 있으므로 이점을 얻을 수 있습니다. 사용으로부터롤 토토. 만약 당신이 테이블 또는 단일에서 인덱싱된 값 범위 요청 일치하는 여러 행이 있는 색인화된 값롤 토토도움이 될 것입니다. 일단 색인을 생성하면 일치하는 첫 번째 행에 대한 테이블 페이지를 식별합니다. 일치하는 다른 행은 이미 동일한 테이블에 있을 수 있습니다. 페이지를 사용하므로 디스크 액세스가 절약되고 쿼리 속도가 빨라집니다.
롤 토토 작업 중에 테이블의 임시 복사본이 인덱스 순서대로 테이블 데이터를 포함하는 생성됩니다. 테이블의 각 인덱스에 대한 임시 복사본도 생성됩니다. 따라서 최소한 합계와 동일한 디스크 여유 공간이 필요합니다. 테이블 크기와 인덱스 크기입니다.
왜냐하면롤 토토기억합니다 롤 토토링 정보를 통해 원하는 테이블을 롤 토토링할 수 있습니다. 처음에는 수동으로 롤 토토링하고 시간 제한 이벤트를 설정했습니다. 와 유사진공그래서 테이블은 주기적으로 재롤 토토링됩니다.
플래너는 주문에 대한 통계를 기록하기 때문에 테이블을 실행하는 것이 좋습니다.분석새로 롤 토토링된 테이블에. 그렇지 않으면 플래너가 쿼리 계획을 잘못 선택할 수 있습니다.
데이터를 롤 토토링하는 또 다른 방법이 있습니다.롤 토토명령은 다음과 같이 원본 테이블을 재정렬합니다. 지정한 인덱스를 사용하여 스캔합니다. 속도가 느려질 수 있습니다. 인덱스의 테이블에서 행을 가져오기 때문에 큰 테이블 순서가 있으며 테이블이 무질서한 경우 항목은 무작위입니다. 이동된 모든 행에 대해 하나의 디스크 페이지가 검색됩니다. (포스트그레SQL캐시가 있지만 큰 테이블의 대부분은 캐시에 맞지 않습니다.) 다른 방법으로는 테이블을 롤 토토링하는 것은 사용하는 것입니다
테이블 생성새 테이블AS
선택 *에서테이블주문 기준컬럼 목록;
다음을 사용하는PostgreSQL원하는 순서를 생성하는 코드 정렬; 이것은 보통 많은 무질서한 데이터에 대한 인덱스 스캔보다 빠릅니다. 그런 다음 당신은 이전 테이블, 사용테이블 변경 ... 이름 바꾸기에 이름 바꾸기새 테이블이전 이름으로, 테이블의 인덱스를 다시 만듭니다. 이것의 가장 큰 단점은 접근 방식은 OID, 제약 조건, 외부 항목을 보존하지 않는다는 것입니다. 주요 관계, 부여된 권한 및 기타 보조 테이블 속성 — 이러한 모든 항목은 수동으로 재창조되었습니다. 또 다른 단점은 이 방법에는 정렬이 필요하다는 것입니다. 테이블 자체와 크기가 거의 같은 임시 파일이므로 피크 디스크 사용량은 테이블 크기의 2배가 아닌 약 3배입니다. 테이블 크기.