728x90

* 11.70에서 개선된 통계 갱신 방법


자동 통계 갱신

ONCONFIG 파일에서 AUTO_STAT_MODE, STATCHANGE 파라미터 값을 설정할 때 활성화 된다.

STATCHANGE 값은 테이블 변경에 대한 임계치를 퍼센트 단위로 나타내며 0에서 100사이의 값을 지정한다.

지정한 값에 도달한 테이블은 자동으로 통계 갱신이 이루어진다.


이를 세션 레벨로 설정하려면 다음 명령을 수행한다.

SET ENVIRONMENT STATCHANGE "5";

UPDATE STATISTICS LOW FOR TABLE tab1;


위와 같이 수행하면 onCONFIG 값에 정의한 STATCHANGE 값을 대체하여 통계 갱신이 이루어진다.



테이블 레벨로 설정하려면 다음 명령을 수행한다.

CREATE TABLE tab1(cid serial, lname varchar(32), fname varchar(32)) STATCHANGE 5;

ALTER TABLE tab1 STATCHANGE AUTO;


위와 같이 수행하면 테이블 생성시 지정한 STATCHANGE 값 또는 onCONFIG 파라미터 값을 사용하여 통계 갱신이 이루어진다.



Fragment-Level 통계 갱신

CREATE TABLE 또는 ALTER TABLE 문에서 STATLEVEL을 정의한다.

STATLEVEL은 TABLE, FRAGMENT, AUTO 값중 하나를 선택할 수 있다.


테이블을 생성할 때 다음과 같이 STATLEVEL을 명시한다.

CREATE TABLE tab1(col1 integer, col2 char(10)

FRAGMENT BY expression

(col1 >= 0 AND col1 < 1000) IN dbspace1,

(col1 >= 1000 AND col1 < 2000) IN dbspace2,

(col1 >= 2000 AND col1 < 3000) IN dbspace3,

remainder in rootdbs

STATLEVEL FRAGMENT;


또는 다음과 같이 ALTER 명령을 수행한다.

ALTER TABLE tab1 STATLEVEL FRAGMENT;



http://www.ibm.com/developerworks/data/library/techarticle/dm-1104fragmentstats/index.html#

728x90

+ Recent posts