쿼리 계획에서 "비트맵 힙 검사"란 무엇입니까?
"비트맵 힙 스캔"의 원리를 알고 싶습니다. 쿼리를 실행할 때 이러한 현상이 자주 발생한다는 것입니다.OR
그 상태로
누가 "비트맵 힙 스캔"의 원리를 설명할 수 있습니까?
가장 좋은 설명은 제가 틀리지 않는 한 알고리즘의 저자인 Tom Lane의 것입니다.위키백과 기사도 참조하십시오.
간단히 말해서, 이것은 일종의 seq 스캔과 같습니다.차이점은 비트맵 인덱스는 모든 디스크 페이지를 방문하는 것이 아니라 적용 가능한 인덱스 AND와 OR을 함께 검색하고 필요한 디스크 페이지만 방문한다는 것입니다.
이것은 인덱스가 행별로 순서대로 방문되는 인덱스 검색과는 다릅니다. 즉, 디스크 페이지가 여러 번 방문될 수 있습니다.
댓글에 있는 질문...네, 바로 그거예요.
인덱스 검색은 행을 하나씩 차례로 통과하여 필요한 만큼 디스크 페이지를 반복적으로 엽니다(일부는 물론 메모리에 남아 있지만 요점을 알 수 있습니다).
비트맵 인덱스 검사는 디스크 페이지의 최종 목록을 순차적으로 열고 각 페이지의 해당 행을 모두 가져옵니다(따라서 쿼리 계획에 표시되는 소위 재점검 조건).
별도로, 클러스터링/행 순서가 두 가지 방법 중 하나로 관련 비용에 어떤 영향을 미치는지 알아봅니다.행이 임의의 순서로 배열되어 있으면 비트맵 인덱스가 더 저렴합니다. (그리고 실제로 모든 행에 배열되어 있다면 비트맵 인덱스 스캔은 오버헤드가 없는 것이 아니기 때문에 seq 스캔이 가장 저렴합니다.)
언급URL : https://stackoverflow.com/questions/6592626/what-is-a-bitmap-heap-scan-in-a-query-plan
'programing' 카테고리의 다른 글
bash를 강제로 파일에서 로드된 문자열의 변수 확장 (0) | 2023.05.28 |
---|---|
C#에서 두 개 이상의 바이트 배열을 결합하는 가장 좋은 방법 (0) | 2023.05.23 |
Collections.defaultdict 차이와 일반 dict (0) | 2023.05.23 |
VBA 메시지 상자에서 선택 가능한 텍스트 (0) | 2023.05.23 |
Documents 폴더에 파일이 있는지 확인하는 방법은 무엇입니까? (0) | 2023.05.23 |