대량 데이터를 Update 또는 Delete 작업하는 경우 많은 시간이 소요됩니다.
Update/Delete 할때마다 기존(변경전/삭제전) 데이터를 Undo Segment 와 Redo Log 에 Writing 해야 하기 때문입니다.
그래서 Update/Delete 해야할 데이터량이 많은 경우에는 CTAS(Create Table As Select) 구문으로 변경해서 작업하는 것이 훨씬 빠르고 유리합니다.
CTAS는 "Create Table As Select"의 약어로, 기존 테이블의 데이터를 기반으로 새로운 테이블을 생성하는 SQL 문입니다. CTAS 문은 SELECT 문과 CREATE TABLE 문을 결합한 형태로서 사용됩니다. CTAS 문은 다음과 같은 구조를 가집니다: ```
CREATE TABLE new_table
AS SELECT column1, column2, ...
FROM existing_table
WHERE condition;
```
위의 CTAS 문은 existing_table에서 원하는 column들을 선택하고, 선택한 데이터를 기반으로 new_table이란 새로운 테이블을 생성합니다.
그리고 WHERE 절을 사용하여 조건에 맞는 데이터만 선택할 수 있습니다.
CTAS 문을 사용하면 기존 테이블의 스키마 구조와 데이터를 복사하여, 독립적인 새로운 테이블을 생성할 수 있습니다. 이는 데이터 마이그레이션, 데이터 백업, 데이터 분석 등의 용도로 많이 활용됩니다.
CTAS 문의 장점은 다음과 같습니다:
- 생성된 테이블은 기존 테이블과 완전히 독립적인 구조를 가지므로, 원본 테이블의 변경이나 삭제 작업에 영향을 받지 않습니다.
- 데이터를 효율적으로 복사하므로 데이터 마이그레이션 시간을 단축시킬 수 있습니다.
- 선택적으로 데이터를 조정하거나 변형하여 새로운 테이블을 생성할 수 있습니다.
CTAS 문은 다양한 데이터베이스 시스템에서 지원되며, 데이터베이스의 문법에 따라 구체적인 사용 방법과 가능한 옵션이 다를 수 있습니다. 따라서 사용하는 데이터베이스 시스템과 해당 버전의 문서 또는 리소스를 참조하여 사용 방법을 확인해야 합니다.
이경우 인덱스나 그외의 파티션까지 복사되지 생성되지 않으니 주의해서 사용하길 바람
실제 사용예시: https://jack-of-all-trades.tistory.com/333
'컴퓨터 과학 > 데이터베이스' 카테고리의 다른 글
oracle sql :, =: (0) | 2023.12.03 |
---|---|
데이터베이스 구조 재조정 (0) | 2023.11.17 |
IN과 EXISTS차이 (0) | 2023.11.15 |
Toad - compare (0) | 2023.10.25 |
데이터베이스 접속오류(ORA-12170) (0) | 2023.10.16 |