이 구성 매개 변수는 조잡한 방법을 제공합니다 무지개 토토 최적화기가 선택한 무지개 토토 계획에 영향을 미칩니다. 만약 특정 무지개 토토에 대한 Optimizer가 선택한 기본 계획은 최적, A임시솔루션은 이러한 구성 매개 변수 중 하나를 사용하여 다른 계획을 선택할 수있는 최적화. 더 나은 개선 방법 Optimizer가 선택한 계획의 품질에는 조정이 포함됩니다. 플래너 비용 상수 (참조섹션 18.7.2), runningPostgreSQL : 문서 : 9.3 : 토토 커뮤니티수동으로, 값의 가치 증가default_statistics_target구성 매개 변수 및 통계량 증가 를 사용하여 특정 열에 대해 수집변경 테이블 세트 통계.
무지개 토토 플래너의 비트 맵 스캔 계획 사용을 활성화 또는 비활성화합니다. 유형. 기본값은on.
무지개 토토 플래너의 해시 사용을 활성화 또는 비활성화합니다 집계 계획 유형. 기본값은on.
무지개 토토 플래너의 해시 조인 플랜 사용을 활성화 또는 비활성화합니다. 유형. 기본값은on.
무지개 토토 플래너의 인덱스 스캔 계획 사용을 활성화 또는 비활성화합니다. 유형. 기본값은on.
무지개 토토 플래너의 인덱스 전용 스캔 사용을 활성화 또는 비활성화합니다 계획 유형. 기본값은on.
무지개 토토 플래너의 구체화 사용을 활성화 또는 비활성화합니다. 구체화를 완전히 억제하는 것은 불가능하지만 회전합니다 이 변수는 플래너가 실체화를 삽입하는 것을 방지합니다 정확성에 필요한 경우를 제외한 노드. 그만큼 기본값은on.
무지개 토토 플래너의 병합 결합 계획 사용을 활성화 또는 비활성화합니다. 유형. 기본값은on.
무지개 토토 플래너의 중첩 루프 조인 사용을 활성화 또는 비활성화합니다. 계획. 중첩 루프 결합을 완전히 억제하는 것은 불가능하지만 이 변수를 끄면 플래너가 IF를 사용하지 못하도록합니다. 사용 가능한 다른 방법이 있습니다. 기본값은on.
무지개 토토 플래너의 순차적 스캔 사용을 활성화 또는 비활성화합니다. 계획 유형. 순차적 스캔을 완전히 억제하는 것은 불가능합니다. 그러나이 변수를 끄는 것은 플래너가 사용하지 못하게합니다. 사용 가능한 다른 방법이있는 경우 하나입니다. 기본값은on.
무지개 토토 플래너의 명시 적 정렬 사용을 활성화 또는 비활성화합니다. 단계. 명시적인 종류를 완전히 억제하는 것은 불가능하지만 이 변수를 끄면 플래너가 IF를 사용하지 못하도록합니다. 사용 가능한 다른 방법이 있습니다. 기본값은on.
무지개 토토 플래너의 사용을 활성화하거나 비활성화합니다TID스캔 계획 유형. 기본값은on.
the비용이것에 설명 된 변수 섹션은 임의의 척도로 측정됩니다. 그들의 친척 만 값 물질이므로 동일한 요인만큼 위 또는 아래로 스케일링합니다. 플래너의 선택에 변화가 없을 것입니다. 기본적으로 이 비용 변수는 순차 페이지 비용을 기준으로합니다. 가져 오는 것; 즉,seq_page_costis 전통적으로 설정1.0그리고 다른 하나 비용 변수는이를 참조하여 설정됩니다. 그러나 당신은 a를 사용할 수 있습니다 실제 실행 시간과 같이 원하는 경우 다른 척도 특정 기계의 밀리 초.
참고 :불행히도 잘 정의 된 방법은 없습니다 비용 변수에 대한 이상적인 값 결정. 그들은 최고입니다 전체 쿼리의 전체 혼합에 걸쳐 평균으로 취급됩니다. 특정 설치가 수신됩니다. 이것은 그들을 바꾸는 것을 의미합니다 몇 가지 실험에 근거하여 매우 위험합니다.
디스크 페이지 페치 비용에 대한 플래너의 추정치를 설정합니다. 그것은 일련의 순차적 인 페치의 일부입니다. 기본값은 1.0입니다. 이 값은 특정의 테이블 및 인덱스에 대해 재정의 할 수 있습니다. 동일한 이름의 테이블 스페이스 매개 변수를 설정하여 테이블 스페이스 (보다PostgreSQL :).
a 비용에 대한 플래너의 추정치를 설정합니다 비 순차적 인 디스크 페이지. 기본값은 4.0입니다. 이 가치 특정 테이블 스페이스의 테이블 및 인덱스에 대해 재정의 할 수 있습니다. 같은 이름의 테이블 스페이스 매개 변수를 설정하여 (참조테이블 스페이스 대체).
이 값 감소SEQ_PAGE_COST시스템이 인덱스를 선호하게됩니다 스캔; 그것을 높이면 인덱스 스캔이 비교적 더 보일 것입니다 값비싼. 두 값을 함께 높이거나 낮추기 위해 CPU 비용에 대한 디스크 I/O 비용의 중요성 다음 매개 변수로 설명합니다.
기계식 디스크 스토리지에 대한 임의의 액세스는 일반적으로 훨씬 더 많습니다. 4 배의 순차적 액세스보다 비싸다. 그러나 낮은 기본값이 사용됩니다 (4.0)의 대부분의 임의 액세스가 인덱스 판독 값과 같은 디스크는 캐시에있는 것으로 가정합니다. 그만큼 기본값은 무작위 액세스를 40으로 모델링하는 것으로 생각할 수 있습니다. 무작위 읽기의 90%를 기대하면서 순차적 인 것보다 속도가 느립니다. 캐시 될 것입니다.
90% 캐시 속도가 잘못된 가정이라고 생각하면 워크로드, 당신은 random_page_cost를 더 잘 반영 할 수 있습니다 임의의 스토리지의 실제 비용은 읽습니다. 이에 따라, 당신의 경우 데이터베이스와 같은 데이터는 캐시에있을 수 있습니다. 총 서버 메모리보다 작으며 감소합니다 random_page_cost가 적절할 수 있습니다. 무작위가 낮은 스토리지 순차에 비해 비용을 읽으십시오 (예 : 솔리드 스테이트 드라이브 또한 random_page_cost에 대한 낮은 값으로 더 잘 모델링하는 것입니다.
팁 :시스템에서 설정할 수는 있지만random_page_costseq_page_cost, 물리적으로 합리적이지 않습니다 그래서. 그러나 데이터베이스가있는 경우 동일하게 설정하면 의미가 있습니다. 이 경우에도 RAM에 완전히 캐시 됨. 시퀀스에서 페이지를 터치합니다. 또한, 크게 캐릭 된 데이터베이스에서 CPU 매개 변수에 비해 두 값을 낮추어야합니다. 이미 RAM으로 페이지를 가져 오는 비용은 그보다 훨씬 적습니다. 일반적으로.
각 행 처리 비용에 대한 플래너의 추정치를 설정합니다. 쿼리 중. 기본값은 0.01입니다.
각 지수 처리 비용에 대한 플래너의 추정치를 설정합니다. 인덱스 스캔 중에 입력. 기본값은 0.005입니다.
각각 처리 비용에 대한 플래너의 추정치를 설정합니다. 쿼리 중에 운영자 또는 기능이 실행되었습니다. 기본값은입니다 0.0025.
유효 크기에 대한 플래너의 가정을 설정합니다. 단일 쿼리에 사용할 수있는 디스크 캐시. 이것은 사실입니다 색인 사용 비용의 추정치로; 더 높은 가치가 있습니다 인덱스 스캔이 더 많이 사용될 가능성이 높고 값이 낮을수록 더 순차적 스캔이 사용될 것입니다. 이것을 설정할 때 둘 다 고려해야 할 매개 변수PostgreSQL의 공유 버퍼 및 일부 사용될 커널 디스크 캐시PostgreSQL데이터 파일이지만 일부 데이터는 가능합니다 두 곳 모두에 존재합니다. 또한 예상 숫자를 고려하십시오 다른 테이블의 동시 무지개 토토는 사용 가능한 공간을 공유하십시오. 이 매개 변수는 크기에 영향을 미치지 않습니다 에 할당 된 공유 메모리PostgreSQL, 커널 디스크를 예약하지도 않습니다 은닉처; 추정 목적으로 만 사용됩니다. 시스템도 데이터가 무지개 토토 사이의 디스크 캐시에 남아 있다고 가정하지 않습니다. 그만큼 기본값은 128 메가 바이트입니다 (128MB).
유전자 쿼리 옵티마이저 (GEQO)는 알고리즘입니다. 휴리스틱 검색을 사용한 쿼리 계획. 이것은 계획을 줄입니다 복잡한 쿼리 (많은 관계에 합류하는 사람들)를위한 시간, 때때로 발견 된 계획보다 열등한 계획을 생산하는 비용 정상적인 철저한 검색 알고리즘에 의해. 자세한 내용은 참조PostgreSQL : 문서 : 9.3 : 유전자 사설 토토 사이트 옵티마이저.
유전자 무지개 토토 최적화를 활성화 또는 비활성화합니다. 이것은 켜져 있습니다 기본. 일반적으로 생산에서 끄지 않는 것이 가장 좋습니다. 그만큼geqo_threshold변수는 더 많은 것을 제공합니다 geqo의 세분화 제어
유전자 무지개 토토 최적화를 사용하여 적어도 무지개 토토를 계획 이 많은From관련된 항목. (그 점에 유의하십시오 에이전체 외부 조인구성 계산만으로 구성됩니다 하나From항목.) 기본값은 12입니다 더 간단한 무지개 토토 일반적으로 일반을 사용하는 것이 가장 좋습니다. 철저한 검색 플래너이지만 많은 테이블이있는 무지개 토토 철저한 검색은 너무 오래 걸리고 종종 페널티보다 길다. 차선 계획 실행. 따라서, 크기의 임계 값 무지개 토토는 GEQO 사용을 관리하는 편리한 방법입니다.
계획 시간과 쿼리 계획 사이의 상충 관계를 제어합니다 GEQO의 품질. 이 변수는 범위의 정수 여야합니다. 기본값은 5입니다. 값이 클수록 시간이 증가합니다 쿼리 계획에 소비했지만 가능성을 높입니다. 효율적인 쿼리 계획이 선택됩니다.
geqo_effort실제로는 그렇지 않습니다 무엇이든 직접적으로; 기본값을 계산하는 데만 사용됩니다 GEQO 동작에 영향을 미치는 다른 변수의 경우 (설명 아래에). 원하는 경우 다른 매개 변수를 손으로 설정할 수 있습니다. 대신에.
GEQO가 사용하는 풀 크기를 제어합니다. 유전자 집단의 개인. 적어도 두 개 이상이어야합니다 유용한 값은 일반적으로 100 ~ 1000입니다. 0으로 설정된 경우 ( 기본 설정) 그러면 적절한 값이 선택됩니다.geqo_effort및 테이블 수 무지개 토토.
GEQO가 사용하는 세대 수를 제어합니다. 알고리즘의 반복 수. 적어도 하나 여야합니다 유용한 값은 풀 크기와 같은 범위에 있습니다. 설정된 경우 0에서 0 (기본 설정)을 기준으로 적합한 값을 선택합니다. 에geqo_pool_size.
GEQO가 사용하는 선택 바이어스를 제어합니다. 선택 바이어스는입니다 인구 내에서의 선택적 압력. 값은 1.50 ~ 2.00; 후자는 기본입니다.
사용 된 임의 번호 생성기의 초기 값을 제어 GEQO는 조인 순서 검색 공간을 통해 임의의 경로를 선택합니다. 값은 0 (기본값)에서 1까지 다양합니다. 다양합니다 값은 탐색 된 조인 경로 세트를 변경하고 더 나은 최고의 길을 찾는 길.
열별 대상을 통해 설정된알터 테이블 세트 통계. 값 큰 값이 필요한 시간을 증가시킵니다분석그러나 품질을 향상시킬 수 있습니다 플래너의 추정치. 기본값은 100입니다. 자세한 정보 의 통계 사용PostgreSQL무지개 토토 플래너, 참조섹션 14.2.
무지개 토토 플래너의 테이블 제약 조건 사용을 제어합니다 무지개 토토를 최적화하십시오. 허용 값제약 _exclusionareon(모든 테이블에 대한 제약 조건 검사),OFF(제약 조건을 조사하지 않음) 및파티션(상속 자식 테이블 및에 대해서만 제약 조건을 검사하십시오.Union All서브 쿼리).파티션기본 설정입니다. 종종 사용됩니다 성능을 향상시키기 위해 상속 및 분할 된 테이블을 사용하여.
이 매개 변수가 특정 테이블에 허용되면 플래너는 무지개 토토 조건을 테이블의와 비교합니다.check제약 조건 및 스캐닝 테이블을 생략합니다 조건이 제약과 모순됩니다. 예를 들어:
테이블 PARIN (Key Integer, ...); 테이블 child1000을 만듭니다 (확인 (1000과 1999 사이의 키)) 상속 (부모); 테이블 child2000을 만듭니다 (확인 (2000 년에서 2999 년 사이의 키)) 상속 (부모); ... 선택 *에서 key = 2400;에서 부모 중에서 선택하십시오.
제약 제외가 활성화 된이select스캔하지 않습니다Child1000전혀 성능 향상.
현재, 제약 제외는 기본적으로 만 가능합니다 테이블 파티셔닝을 구현하는 데 종종 사용되는 경우. 선회 모든 테이블에 대한 추가 계획 오버 헤드를 부과합니다. 간단한 무지개 토토에서 눈에 띄게되며 대부분 혜택이 없습니다. 간단한 무지개 토토. 분할 된 테이블이 없다면 완전히 끄는 것을 선호합니다.
참조섹션 5.9.4제약 제외 사용에 대한 자세한 내용은 및 분할.
커서 행의 비율에 대한 플래너의 추정치를 설정합니다. 검색 될 것입니다. 기본값은 0.1입니다. 이것의 작은 값 사용에 대한 플래너의 편향"빠른 시작"커서에 대한 계획은 처음 몇 개를 검색합니다 모든 행을 모두 가져 오는 데 오랜 시간이 걸리는 동안 빨리 줄. 더 큰 값은 총 추정 시간에 더 중점을 둡니다. 에서 최대 1.0의 최대 설정, 커서는 정규와 똑같이 계획됩니다. 총 예상 시간 만 고려하고 얼마나 빨리 첫 번째 행이 전달 될 수 있습니다.
플래너는 하위 무지개 토토를 상단 무지개 토토로 병합합니다. 결과From목록에는 더 이상 없을 것입니다 이 많은 항목보다. 더 작은 값은 계획 시간을 줄이지 만 가능합니다 열등한 쿼리 계획을 수집합니다. 기본값은 8입니다. 자세한 내용 정보 참조PostgreSQL : 문서 : 9.3 : 명시 적 조인 조항으로 젠 토토 제어.
이 값 설정geqo_threshold또는 그 이상은 GEQO 플래너의 사용을 유발하여 최적화되지 않은 계획. 보다섹션 18.7.3.
플래너는 명시 적으로 다시 작성합니다Join구조물 (제외전체 조인s) 목록으로 의From더 이상 목록이 없을 때마다 항목 이 것보다 많은 항목이 발생할 것입니다. 더 작은 값은 계획을 줄입니다 시간이지만 열등한 무지개 토토 계획을 산출 할 수 있습니다.
기본적 으로이 변수는와 동일하게 설정됩니다.from_collapse_limit용도. 1으로 설정하면 명시 적의 재정렬이 방지됩니다Joins. 따라서 명시 적 조인 순서 쿼리에 지정된 실제 순서가 관계가 결합됩니다. 쿼리 플래너가 항상 그런 것은 아니기 때문입니다 최적의 조인 순서를 선택하면 고급 사용자가 이 변수를 일시적으로 설정 한 다음 조인 순서를 지정합니다. 그들은 명시 적으로 원합니다. 자세한 내용은 참조섹션 14.3.
이 값 설정geqo_threshold또는 그 이상은 GEQO 플래너의 사용을 유발하여 최적화되지 않은 계획. 보다섹션 18.7.3.
이전 | 배트맨 무지개 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
복제 | up | 오류보고 및 벌채 반출 |