더북(TheBook)

DB2는 요약 테이블 개념을 제공한다. DB2의 요약 테이블은 하나 이상의 원본 테이블 데이터를 집계해 관리할 수 있다. 원본 테이블이 변경될 때마다 자동 또는 수동으로 데이터를 갱신할 수 있다. DB2의 요약 테이블은 사용자에게 빠른 결과를 제공할 뿐만 아니라, 요약 테이블을 생성할 때 ENABLE QUERY OPTIMIZATION을 명시하면 사용자 쿼리가 정보를 요청할 경우 옵티마이저는 요약 테이블에서 미리 요약된 정보를 사용할 수 있다. 이 모든 작업을 처리할 때 어느 정도의 비용이 들지만, 최소한 요약 데이터를 관리하는 데 트리거나 저장 프로시저를 사용할 필요가 없다는 장점이 있다.

코드 3-6은 DB2에서 테이블 여섯 개에 든 데이터를 요약해 SalesSummary라는 요약 테이블을 생성하는 스크립트다. 이 SQL을 보면 알겠지만 뷰를 생성하는 것과 별반 다르지 않다. 실제로 요약 테이블은 구체화된 쿼리 테이블(Materialized Query Table, MQT)의 한 타입으로 MQT의 CREATE SQL 문에서 GROUP BY 절을 사용한 것이 요약 테이블이라고 보면 된다. MQT에서는 FROM 절에 명시적인 INNER JOIN 사용을 제한해 두므로 여기서는 WHERE 절에 조인 조건을 기술했고, REPRESH IMMEDIATE 절을 활성화하는 데 사용한 SELECT 절에는 COUNT(*)를 추가했다는 점에 주의하자. 이런 내용은 옵티마이저가 MQT를 사용할 때 필요한 사항이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.