Postgres에서 idx_tup_read와 idx_tup_fetch의 차이점


12

Postgres 8.4에서 할 수있는 작업 :

select * from pg_stat_all_indexes where relname = 'table_name';

idx_tup_read 및 idx_tup_fetch 필드를 반환합니다. 차이점은 무엇입니까?

답변:


13

뷰의 소스 코드를 볼 때, 당신은 그 볼 idx_tup_read호출의 결과 pg_stat_get_tuples_returned()idx_tup_fetch호출의 결과입니다pg_stat_get_tuples_fetched()

이 설명서 는 다음과 같은 두 가지 기능을 설명합니다.

pg_stat_get_tuples_returned (oid)

인수가 테이블 인 경우 순차 스캔에서 읽은 행 수 또는 인수가 색인 인 경우 리턴되는 색인 항목 수

pg_stat_get_tuples_fetched (oid)

인수가 테이블 일 때 비트 맵 스캔으로 페치 된 테이블 행 수 또는 인수가 인덱스 인 경우 인덱스를 사용하여 단순 인덱스 스캔으로 페치 된 테이블 행 수


1

에서 PostgreSQL의 문서 ,

idx_tup_read is number of index entries returned by scans on this index
idx_tup_fetch is number of live table rows fetched by simple index scans using this index

따라서 reads는 인덱스가 필요한 행의 위치를 ​​다시 제공하고 fetches는 인덱스가 테이블 행 자체를 다시 제공하는 경우입니다.


0

공식 문서 페이지 에 차이점이 나타납니다.

  1. 인덱스가 비트 맵 인덱스 스캔에 관련된 경우
  2. 인덱스를 사용하여 데드 또는 아직 커밋되지 않은 행을 가져 오는 경우
  3. 인덱스 전용 스캔을 통해 힙 페치를 피할 경우
  4. 옵티 마이저 점검으로 인덱스에 액세스 할 때

이 모든 경우에 idx_tup_read보다 큽니다 idx_tup_fetch.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.