디자인 어드바이저에 대한 워크로드 정의

디자인 어드바이저는 특정 워크로드를 분석할 때 워크로드에 포함된 명령문의 유형, 특정 명령문이 발생하는 빈도 및 워크로드를 실행하는 총 비용을 최소화하는 권장사항을 생성하기 위한 데이터베이스의 특성과 같은 인수를 고려합니다.

이 타스크에 대한 정보

워크로드는 데이터베이스 관리자가 일정 기간 동안 처리해야 하는 SQL문 세트입니다. 다음에 대해 디자인 어드바이저가 실행될 수 있습니다.
  • db2advis 명령을 사용하여 인라인을 입력하는 단일 SQL문
  • Db2® 스냅샷에서 캡처된 동적 SQL문 세트
  • 워크로드 파일에 들어 있는 SQL문 세트
워크로드 파일을 작성하거나 기존 워크로드 파일을 수정할 수 있습니다. 다음을 포함한 여러 소스에서 파일로 명령문을 임포트할 수 있습니다.
  • 구분된 텍스트 파일
  • 이벤트 모니터 테이블
  • EXPLAIN_STATEMENT 테이블의 Explian문
  • DB2 스냅샷을 통해 캡처된 최근 SQL문
  • 워크로드 관리자 활동 테이블
  • 명령행에서 -wlm 옵션을 사용하여 워크로드 관리자 이벤트 모니터 테이블
SQL문을 워크로드 파일로 임포트한 후 명령문을 추가, 변경, 수정 또는 제거하고 빈도를 수정할 수 있습니다.

프로시저

  • 동적 SQL문에 대해 디자인 어드바이저를 실행하려면 다음을 수행하십시오.
    1. 다음 명령을 사용하여 데이터베이스 모니터를 재설정하십시오.
         db2 reset monitor for database database-name
    2. 데이터베이스에 대한 동적 SQL문이 실행될 수 있도록 적당한 시간 동안 대기하십시오.
    3. -g 매개변수를 사용하여 db2advis 명령을 호출하십시오. 나중에 참조하기 위해 ADVISE_WORKLOAD 테이블에 동적 SQL문을 저장하려는 경우, -p 매개변수도 사용하십시오.
  • 워크로드 파일의 SQL문에 대해 디자인 어드바이저를 실행하려면 다음을 수행하십시오.
    1. 각 SQL문을 세미콜론으로 구분하여 워크로드 파일을 수동으로 작성하거나, 이전에 나열한 하나 이상의 소스에서 SQL문을 임포트하십시오.
    2. 워크로드에서 명령문의 빈도를 설정하십시오. 워크로드 파일의 모든 명령문에는 기본적으로 빈도 1이 지정됩니다. SQL문의 빈도는 다른 명령문이 발생하는 횟수에 비해 워크로드 내에서 명령문이 발생하는 횟수를 나타냅니다. 예를 들어, 특정 SELECT문은 워크로드에서 100번 발생할 수도 있는 반면, 다른 SELECT문은 10번 발생합니다. 이러한 두 명령문의 상대적 빈도를 나타내기 위해, 첫 번째 SELECT문에 빈도 10을 지정할 수 있고, 두 번째 SELECT문은 빈도 1을 갖습니다. 명령문 뒤에 - - # SET FREQUENCY n행을 삽입하여 워크로드에서 특정 명령문의 빈도 또는 가중치를 수동으로 변경할 수 있습니다. 여기서 n 은 명령문에 지정할 빈도 값입니다.
    3. -i 매개변수와 그 뒤에 워크로드 파일의 이름을 사용하여 db2advis 명령을 호출하십시오.
  • ADVISE_WORKLOAD 테이블에 포함된 워크로드에 대해 디자인 어드바이저를 실행하려면, 워크로드의 이름이 뒤에 오는 -w 매개변수를 사용하여 db2advis 명령을 호출하십시오.