DB2 옵티마이저가 술어에 대해 추정하는 선택 빈도(필터 인수) 겹쳐쓰기

DB2 옵티마이저가 z/OS용 DB2, 버전 11 새 기능 모델 이상에서 실행하는 SQL문의 술어를 추정하는 필터 인수를 겹쳐쓰려면 선택 빈도 겹쳐쓰기 기능을 사용하십시오.

시작하기 전에

이 태스크 정보

술어의 필터 인수는 술어가 참인 테이블에 있는 행의 비율을 추정하는 0과 1 사이의 숫자입니다. 예를 들어 DB2가 테이블 T의 C1 열이 5개의 고유 값 A, D, Q, W, X만 포함한다고 판별할 수 있다고 가정하십시오. 다른 정보가 없으면 DB2는 행의 5분의 1이 C1 열에 값 D를 갖는다고 추정합니다. 그러면 술어 C1='D'는 테이블 T에 대해 0.2의 필터 인수를 갖습니다.

DB2 옵티마이저는 참조되는 테이블에 대한 통계가 최신인 경우에도 항상 SQL문에 있는 술어 또는 술어 세트에 대한 정확한 필터 인수를 판별할 수 있는 것은 아닙니다. 결과는 옵티마이저가 최적보다 작은 액세스 플랜을 생성한다는 것입니다.

예를 들어 술어 WHERE T1.C1 > ?는 옵티마이저가 PREPARE 또는 BIND 구문 중에 정확한 필터 인수를 추정하도록 허용하지 않습니다. 즉, 막대 그래프 통계가 C1에서 수집된 경우에도 옵티마이저가 가능한 값을 알 수 없습니다.

선택 빈도 겹쳐쓰기 기능을 사용하면 옵티마이저가 필터 인수에 대해 추정하는 값을 더 정확한 값으로 바꾸기 위한 권장사항을 얻을 수 있습니다. 사용자 스스로 필터 인수의 값을 설정할 수도 있습니다.

SQL문의 필터 인수 세트가 선택 빈도 프로파일을 구성합니다. 선택 빈도 겹쳐쓰기 기능을 사용하여 선택 빈도 프로파일을 유효성 확인하고 오류가 없으면 이들을 배치할 수 있습니다.

제한사항: z/OS용 DB2에서 선택 빈도 프로파일이 둘 이상의 필터 인수 세트를 포함할 수 있지만, 선택 빈도 겹쳐쓰기 기능은 선택 빈도 프로파일당 한 세트만 작성합니다.

권장사항을 승인하거나 사용자 스스로 설정하여 필터 인수를 겹쳐쓴 후, 잠재적 오류에 대해 필터 인수 세트를 검사할 수 있습니다. 그런 다음 현재 SQL문에 대한 새 액세스 플랜을 검토하고, 먼저 새 선택 빈도 프로파일을 배치하지 않고 원래 액세스 플랜과 비교할 수도 있습니다. 또한 명령문에 대해 인덱스 어드바이저를 실행할 수도 있습니다. 어드바이저는 새 액세스 플랜을 사용합니다. 그런 다음 어드바이저의 권장사항을 원래 액세스 플랜을 기반으로 제공한 권장사항과 비교할 수 있습니다.

필터 인수를 추가로 수정하려는 경우, 필터 인수를 수정하고 다시 유효성 검증하고 다시 테스트한 후 배치할 수 있습니다.

프로시저

  1. 통계 어드바이저의 권장사항을 구현한 후, Workflow Assistant의 호출 섹션의 단일 쿼리 어드바이저 및 도구 실행 페이지로 돌아가십시오. Workflow Assistant의 왼쪽에 있는 호출 탭을 클릭하여 돌아갈 수도 있습니다. 탭을 클릭한 후 단일 쿼리 어드바이저 및 도구 실행 페이지가 열리지 않는 경우, Workflow Assistant의 왼쪽에 있는 어드바이저 및 분석 도구 실행을 클릭하여 해당 페이지를 여십시오.
  2. Workflow Assistant의 왼쪽에 있는 선택 빈도 겹쳐쓰기를 선택하십시오.
  3. 형식화된 SQL문을 보고 겹쳐쓸 후보로 표시되는 필터 인수를 계산하거나 수동으로 변경하십시오.

    SQL문이 구조를 명확하게 보여주는 형식으로 나타납니다. 선택 빈도 겹쳐쓰기 기능이 DB2 옵티마이저가 필터 인수를 올바르지 않게 추정할 수 있는 임의의 술어를 발견한 경우, 필터 인수가 있는 술어의 분할 영역 옆에 Y가 나타납니다.

    제안된 필터 인수 열에 선택 빈도 겹쳐쓰기 기능이 권장하는 모든 필터 인수가 나타납니다. 사용자 자신의 필터 인수를 지정하려는 경우, 필터 인수에 대한 행을 클릭하고 0부터 1까지의 값을 지정하십시오.

    중요사항: 사용자 스스로 필터 인수를 설정하기 전에, z/OS용 DB2의 사용자 버전에 대한 문서에서 필터 인수에 대해 읽었는지 확인하십시오.
    선택 빈도 겹쳐쓰기 기능이 필터 인수를 선택하게 하거나 사용자 스스로 필터 인수를 설정하여 필터 인수를 겹쳐쓴 후, 새 선택 빈도 프로파일을 유효성 확인하십시오. 오류나 경고가 없으면 다음 조치의 하나 이상을 수행하여 선택 빈도 프로파일을 배치할지 여부를 결정할 수 있습니다.
    • 새 액세스 플랜에 대한 액세스 플랜 그래프를 검토하십시오.
    • 액세스 플랜 탐색기에서 새 액세스 플랜을 검토하십시오.
    • 명령문에 대한 이전 액세스 플랜 그래프를 새 필터 인수를 사용하는 액세스 플랜 그래프와 비교하십시오.
    • 인덱스 어드바이저를 실행하십시오. 그러면 선택 빈도 프로파일이 가상으로 배치됩니다. 어드바이저는 선택 빈도 프로파일을 기반으로 하는 권장사항을 작성합니다. 선택 빈도 프로파일이 인덱스 어드바이저가 이전에 명령문에 대해 제공했던 권장사항을 수정하게 만드는지 여부를 판단할 수 있습니다.

    선택 빈도 프로파일이 사용자의 성능 목표를 만족하기에 충분히 액세스 플랜을 개선한다고 판단하는 경우, 선택 빈도 겹쳐쓰기 기능을 사용하여 선택 빈도 프로파일을 배치할 수 있습니다.


피드백