32.2. 언제토토 핫?

토토 핫컴파일은 주로 장기 실행 CPU 바인딩 쿼리에 유용합니다. 이러한 쿼리는 분석적인 쿼리인 경우가 많습니다. 짧은 쿼리의 경우 수행에 따른 추가 오버헤드토토 핫컴파일은 종종 저장할 수 있는 시간보다 길어집니다.

여부를 결정하려면토토 핫컴파일을 사용해야 하며, 쿼리의 총 예상 비용(참조72장그리고섹션 20.7.2)가 사용됩니다. 쿼리의 예상 비용은 다음 설정과 비교됩니다.토토 핫_above_cost. 비용이 더 높으면,토토 핫컴파일이 수행됩니다. 그런 다음 두 가지 추가 결정이 필요합니다. 첫째, 예상 비용이 설정값보다 큰 경우토토 핫_inline_above_cost, 쿼리에 사용되는 짧은 함수와 연산자가 인라인됩니다. 둘째, 예상 비용이 설정값보다 큰 경우토토 핫_optimize_above_cost, 생성된 코드를 개선하기 위해 값비싼 최적화가 적용됩니다. 이러한 각 옵션은 다음을 증가시킵니다.토토 핫컴파일 오버헤드가 있지만 쿼리 실행 시간을 상당히 줄일 수 있습니다.

이러한 비용 기반 결정은 실행 시간이 아닌 계획 시간에 이루어집니다. 이는 준비된 문이 사용 중일 때 일반 계획이 사용됨을 의미합니다(참조준비), 준비 시 적용되는 구성 매개변수의 값은 실행 시 설정이 아니라 결정을 제어합니다.

참고

만약지트다음으로 설정됨꺼짐또는 그렇지 않은 경우토토 핫구현이 가능합니다(예를 들어 서버가 없이 컴파일되었기 때문에--with-llvm), 토토 핫위 기준에 따라 이익이 되더라도 수행되지 않습니다. 설정지트꺼짐계획 시간과 실행 시간 모두에 영향을 미칩니다.

설명다음 여부를 확인하는 데 사용할 수 있습니다.토토 핫사용 여부입니다. 예를 들어 다음은 다음을 사용하지 않는 쿼리입니다.토토 핫:

=# pg_class에서 SUM(relpages) 분석 분석 설명;
                                                 쿼리 계획
---------------------------------------​--------------------------------------------
 집계(비용=16.27..16.29행=1너비=8)(실제 시간=0.303..0.303행=1루프=1)
   - pg_class의 Seq 스캔(비용=0.00..15.42 행=342 너비=4)(실제 시간=0.017..0.111 행=356 루프=1)
 계획 시간: 0.116ms
 실행 시간: 0.365ms
(4행)

계획 비용을 고려하면, 그렇지 않은 것이 전적으로 합리적입니다.토토 핫사용되었습니다; 비용토토 핫잠재적인 절감액보다 더 컸을 것입니다. 비용 한도를 조정하면 다음과 같은 결과가 발생합니다.토토 핫사용:

=# SET 토토 핫_above_cost = 10;
세트
=# 설명 분석 SELECT SUM(relpages) FROM pg_class;
                                                 쿼리 계획
---------------------------------------​--------------------------------------------
 집계(비용=16.27..16.29행=1너비=8)(실제 시간=6.049..6.049행=1루프=1)
   - pg_class의 Seq 스캔(비용=0.00..15.42 행=342 너비=4)(실제 시간=0.019..0.052 행=356 루프=1)
 계획 시간: 0.133ms
 지트:
   기능: 3
   옵션: 인라인 false, 최적화 false, 표현식 true, 변형 true
   타이밍: 생성 1.259ms, 인라인 0.000ms, 최적화 0.797ms, 방출 5.048ms, 총 7.104ms
 실행 시간: 7.416ms

여기서 볼 수 있듯이,토토 핫이 사용되었지만 인라인 및 비용이 많이 드는 최적화는 사용되지 않았습니다. 만일토토 핫_inline_above_cost또는토토 핫_optimize_above_cost또한 낮아졌으므로 변경될 것입니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.