테이블에 년월일별로 저장된 데이터가 많아서 조회 속도가 점점 느려집니다
과거 데이터를 주기적으로 백업테이블에 저장을 해서 속도를 개선하려 하는데 좋은 방법이 있을까요?
- 오라클 스탠다드 버전을 사용하고 있어서 파티션 테이블을 사용할수 없고
- delete를 해도 속도는 여전히 느림(용량 삭제 또는 purge 등 필요)
일단 제가 생각한 방식은 procedure를 만들어서 아래와 같은 순서로 할까 합니다
1. 1년전 데이터를 CTAS로 적재
CREATE TABLE table_2024 AS SELECT * FROM table WHERE ymd = 2024
2. 올해 데이터를 CTAS로 이동
CREATE TABLE table_t AS SELECT * FROM table WHERE ymd = 2025
3. 기존 테이블 drop
DROP TABLE table CASCADE CONSTRAINTS
4. 테이블 이름 변경
ALTER TABLE table_t RENAME TO table
5. PK 생성
ALTER TABLE table ADD CONSTRAINT table_pk PRIMARY KEY(ymd)
위 방식 말고 더 좋은 방식이 없을까요?
|