데이터베이스 유지보수 수행
최상의 성능을 위해 RUNSTATS 같은 명령을 실행하여 대형 테이블에 대한 정기적인 유지보수 활동을 수행하십시오.
DB2® RUNSTATS 명령은 테이블 및/또는 연관된 인덱스의 특성 또는 통계 보기에 대한 시스템 카탈로그의 통계를 업데이트합니다. 특히 중요한 업데이트 활동이 발생했거나 RUNSTATS 명령을 마지막으로 실행한 후 새 인덱스가 작성된 경우 DB2® RUNSTATS 명령을 사용하여 테이블 및 인덱스에 대한 현재 통계를 수집하는 것이 좋습니다. 이 명령은 최상의 액세스 계획을 판별하기 위한 가장 정확한 정보를 최적화 프로그램에 제공합니다.
예제:
runstats on table DB2INST2.UA_CONTACTHISTORY and detailed indexes all
특정 순간에 포함하는 데이터의 양이 크게 변동될 수 있는 테이블의 경우를 고려해보십시오. 이런 유형의 테이블은 변동 및 변경 가능성이 매우 크기 때문에 RUNSTATS에서 수집한 통계를 사용하는 것이 부정확해질 수 있습니다. 통계는 특정 시점에 수집되고 특정 시점만을 반영합니다.
소멸성 테이블을 사용하는 액세스 계획을 생성할 경우 올바르지 않거나 성능이 떨어지는 계획이 만들어질 수 있습니다. 예를 들어, 소멸성 테이블이 비어 있을 때 통계를 수집할 경우 최적화 프로그램이 인덱스 스캔보다는 테이블 스캔을 사용하여 소멸성 테이블에 액세스하는 것을 선호합니다.
이런 유형의 문제를 방지하기 위해 ALTER TABLE 명령문을 사용하여 테이블을 소멸성 테이블로 선언하는 것을 고려해보십시오. 테이블을 소멸성으로 선언하면 최적화 프로그램이 테이블 스캔보다는 인덱스 스캔을 사용하는 것을 고려합니다. 선언된 소멸성 테이블을 사용하는 액세스 계획은 해당 테이블의 기존 통계를 사용하지 않습니다.
"ALTER TABLE <table_name> VOLATILE CARDINALITY"