Postgres가 지정된 인덱스를 사용하도록 강제하는 방법은 무엇입니까?
P粉785905797
P粉785905797 2023-08-20 20:42:25
0
1
648
<p>Postgres가 순차 스캔 수행을 요구할 때 인덱스를 사용하도록 하려면 어떻게 해야 합니까? </p>
P粉785905797
P粉785905797

모든 응답(1)
P粉281089485

많은 데이터베이스에서 흔히 사용되는 "인덱스 힌트" 기능에 대해 문의하신다고 가정하면 PostgreSQL에서는 이러한 기능을 제공하지 않습니다. 이는 PostgreSQL 팀이 의도적으로 내린 결정입니다. 이유와 수행할 수 있는 작업에 대한 좋은 개요는 여기에서 확인할 수 있습니다. 기본적인 이유는 이는 데이터가 변경될 때 더 많은 문제를 일으키는 경향이 있는 성능 최적화 방법이며, PostgreSQL의 최적화 프로그램이 통계를 기반으로 계획을 재평가할 수 있기 때문입니다. 즉, 현재 좋은 쿼리 계획이 항상 좋은 쿼리 계획이 아닐 수도 있으며 인덱스 힌트는 특정 쿼리 계획을 사용하도록 강제합니다.

매우 조잡한 테스트 도구로 enable_seqscanenable_indexscan 매개변수를 사용할 수 있습니다. 참조:

는 지속적인 생산 용도로 사용되지 않습니다 . 쿼리 계획 선택에 문제가 있는 경우 쿼리 성능 문제 추적에 대한 문서를 검토해야 합니다. enable_ 매개변수만 설정하고 떠나지 마세요.

인덱스를 사용해야 할 타당한 이유가 없다면 Postgres는 아마도 올바른 선택을 할 것입니다. 왜?

  • 작은 테이블의 경우 순차 스캔이 더 빠릅니다.
  • Postgres는 데이터 유형이 일치하지 않는 경우 인덱스를 사용하지 않으므로 적절한 변환을 포함해야 할 수도 있습니다.
  • 계획 설정으로 인해 문제가 발생할 수 있습니다.

또한 이 오래된 뉴스그룹 게시물을 참조하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!