사설 토토지침postgresql테이블대략 지정된 색인indexname. 그만큼 인덱스가 이미 정의 되었음TableName.
테이블이 사설 토토링되면 색인 정보. 사설 토토링은 정적입니다. 다시 말해서, 테이블이 업데이트되면 변경 사항이 사설 토토되지 않습니다. 아니요 새로운 인스턴스 또는 업데이트 된 튜플을 유지하려고 시도합니다. 사설 토토. 원하는 경우 발행하여 수동으로 다시 사설 토토 할 수 있습니다 다시 명령.
테이블은 실제로 인덱스의 임시 테이블에 복사됩니다. 주문, 원래 이름으로 이름을 바꾸십시오. 이런 이유로 모든 보조금 권한 및 기타 지수는 언제 손실됩니다 사설 토토링이 수행됩니다.
단일 행에 무작위로 액세스하는 경우 테이블, 힙 테이블의 데이터의 실제 순서는 다음과 같습니다. 중요하지 않습니다. 그러나 일부 데이터에 더 액세스하는 경향이있는 경우 다른 사람들, 그리고 그들을 함께 그룹화하는 색인이 있습니다. 사용 혜택사설 토토.
다른 곳사설 토토IS 색인을 사용하여 여러 가지를 꺼내는 경우 도움이됩니다. 테이블에서 줄. 인덱스 범위를 요청하는 경우 테이블의 값 또는 단일 인덱스 값 일치하는 다중 행,사설 토토의지 인덱스가 힙 페이지를 식별하기 때문에 도움말 일치하는 첫 번째 줄, 일치하는 다른 모든 행은 아마도 이미 동일한 힙 페이지에 디스크 액세스를 저장하고 쿼리 속도를 높이십시오.
데이터를 사설 토토하는 두 가지 방법이 있습니다. 첫 번째는사설 토토명령 지정한 색인의 순서가있는 원본 테이블. 이것 행이 가져 왔기 때문에 큰 테이블에서 느리게 할 수 있습니다. 인덱스 순서대로 힙과 힙 테이블이 정렬되지 않은 경우 항목은 임의의 페이지에 있으므로 하나의 디스크 페이지가 있습니다. 이동 한 모든 행에 대해 검색되었습니다.postgresql캐시가 있지만 대다수는 있습니다 큰 테이블의 캐시에 맞지 않습니다.
사설 토토 데이터를위한 또 다른 방법은 사용하는 것입니다
selectColumnList표로NewtableFrom테이블주문 byColumnList
PostgreSQL인덱스와 일치하는 순서 별 순서의 코드 정렬 및 지정되지 않은 데이터의 경우 훨씬 빠릅니다. 그런 다음 오래된 것을 떨어 뜨립니다 테이블, 사용Alter Table ... RenameTO 이름 바꾸기Newtable오래된 이름을 지정하고 테이블의 색인을 재현하십시오. 유일한 문제는입니다 저것OIDs는 아닙니다 보존. 그때부터사설 토토대부분의 힙 데이터가 이미 주문되었으므로 빠르게 기존 색인이 사용됩니다.