더북(TheBook)

SQL Server는 구체화된 뷰를 지원하지는 않지만 뷰에 인덱스를 만들어 비슷한 효과를 낼 수 있다. 따라서 비슷한 방식으로 인덱싱된 뷰를 사용할 수 있다.

Note ≣

DBMS에 따라 추가적인 제한이 있다. 요약 테이블, 구체화된 뷰, 인덱싱된 뷰를 생성하기 전에 실제로 어떤 기능을 지원하는지 관련 문서를 먼저 확인하자.

요약 테이블에도 몇 가지 단점이 있는데, 그 내용은 다음과 같다.

요약 테이블은 별도의 데이터를 저장하므로 저장 공간을 차지한다.

원본 테이블과 요약 테이블 간 데이터를 일관되게 유지하려면 관리 작업(트리거, 제약 조건, 저장 프로시저 등)이 필요하다.

사용자에게 필요한 집계 값을 미리 계산하고 요약 테이블에 담아 놓으려면 그 데이터가 무엇인지 미리 파악해 두어야 한다.

그루핑 조건이나 필터 조건이 다를 때는 요약 테이블이 여러 개 필요하다.

스케줄을 만들어 요약 테이블 데이터를 갱신하도록 한다.

SQL을 사용해 요약 테이블 데이터를 주기적으로 관리해야 한다. 예를 들어 요약 테이블에서 지난 12개월간 데이터를 보여 주려면 이 테이블에서 1년 이상 지난 데이터는 제거하는 로직이 필요하다.

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